java - 即使端口未被占用,也无法启动 Glassfish 3.1

标签 java linux glassfish-3

我在新设置的 Debian“Squeeze”服务器上启动 Glassfish 3.1 时遇到问题。这是一个已设置的测试服务器,并且 Glassfish 安装已从工作服务器复制到另一台服务器。

我试过运行:

# ./asadmin start-domain
There is a process already using the admin port 4848 -- it probably is another instance of a GlassFish server.
Command start-domain failed.

我还尝试重新启动域,因为我认为它可能正在运行:

# ./asadmin restart-domain
Server is not running, will attempt to start it...
There is a process already using the admin port 4848 -- it probably is another instance of a GlassFish server.
Command restart-domain failed.

此时我确认 Glassfish 没有运行,所以我检查了端口 4848 是否被占用:

# netstat -aon | grep 4848

什么也没返回。

我怀疑 Glassfish 是在 Glassfish 仍在运行时从源服务器复制的。也许还有某种 pid 文件或锁定文件也被复制过来了。

关于如何启动 Glassfish 有什么建议吗?

编辑

这是执行 asadmin start-domain 命令后来自 domain1server.log 文件:

Sep 12, 2011 11:18:02 AM com.sun.enterprise.admin.launcher.GFLauncherLogger info
INFO: JVM invocation command line:
/opt/glassfish3/jdk/bin/java
-cp
/opt/glassfish3/glassfish/modules/glassfish.jar
-XX:+UnlockDiagnosticVMOptions
-XX:MaxPermSize=192m
-XX:NewRatio=2
-Xmx512m
-client
-javaagent:/opt/glassfish3/glassfish/lib/monitor/flashlight-agent.jar
-Dosgi.shell.telnet.maxconn=1
-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver
-Dfelix.fileinstall.disableConfigSave=false
-Dfelix.fileinstall.dir=/opt/glassfish3/glassfish/modules/autostart/
-Djavax.net.ssl.keyStore=/opt/glassfish3/glassfish/domains/domain1/config/keystore.jks
-Dosgi.shell.telnet.port=6666
-Djava.security.policy=/opt/glassfish3/glassfish/domains/domain1/config/server.policy
-Dfelix.fileinstall.log.level=2
-Dfelix.fileinstall.poll=5000
-Dcom.sun.aas.instanceRoot=/opt/glassfish3/glassfish/domains/domain1
-Dosgi.shell.telnet.ip=127.0.0.1
-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory
-Djava.endorsed.dirs=/opt/glassfish3/glassfish/modules/endorsed:/opt/glassfish3/glassfish/lib/endorsed
-Dcom.sun.aas.installRoot=/opt/glassfish3/glassfish
-Djava.ext.dirs=/opt/glassfish3/jdk/lib/ext:/opt/glassfish3/jdk/jre/lib/ext:/opt/glassfish3/glassfish/domains/domain1/lib/ext
-Dfelix.fileinstall.bundles.startTransient=true
-Dfelix.fileinstall.bundles.new.start=true
-Djavax.net.ssl.trustStore=/opt/glassfish3/glassfish/domains/domain1/config/cacerts.jks
-Dorg.glassfish.additionalOSGiBundlesToStart=org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command
-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as
-DANTLR_USE_DIRECT_CLASS_LOADING=true
-Djava.security.auth.login.config=/opt/glassfish3/glassfish/domains/domain1/config/login.conf
-Dgosh.args=--nointeractive
-Djava.library.path=/opt/glassfish3/glassfish/lib:/opt/glassfish3/jdk/jre/lib/amd64/server:/opt/glassfish3/jdk/jre/lib/amd64:/opt/glassfish3/jdk/lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
com.sun.enterprise.glassfish.bootstrap.ASMain
-domainname
domain1
-asadmin-args
--host,,,localhost,,,--port,,,4848,,,--secure=false,,,--terse=false,,,--echo=false,,,--interactive=true,,,start-domain,,,--verbose=false,,,--debug=false,,,--domaindir,,,/opt/glassfish3/glassfish/domains,,,domain1
-instancename
server
-verbose
false
-debug
false
-asadmin-classpath
/opt/glassfish3/glassfish/modules/admin-cli.jar
-asadmin-classname
com.sun.enterprise.admin.cli.AsadminMain
-upgrade
false
-type
DAS
-domaindir
/opt/glassfish3/glassfish/domains/domain1
-read-stdin
true

最佳答案

首先检查 $HOSTNAME 和 etc/hosts 文件配置,不要试图用 ps aux 或 netstat -aon 找问题。

> echo $HOSTNAME

响应 > 服务器(或其他)

> cat /etc/hosts

如果您在 127.0.0.1 之后看不到 "$HOSTNAME"作为响应,请将其添加到字符串的末尾。 再次尝试执行 start-domain 命令。

关于java - 即使端口未被占用,也无法启动 Glassfish 3.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7391466/

相关文章:

python - ': [Errno 2] No such file or directoryile ' in Linux

jsf - java.lang.IllegalStateException : javax. naming.NamingException: 'java:comp/BeanManager' 查找失败

java - 计算字符串列表中的元音并打印计数

java - Spring Boot自定义查询分组依据和计数

c - stat() 不适用于 .so 文件

c# - Linux 中的 SSL WebRequest

java - 在 EJB Web 服务的构造函数中抛出异常

ssl - Glassfish:具有双向身份验证的自签名证书

java - 如何在 Collections.forEach() 中打印计数

java - 图像中的 JButton