Glassfish 3.1.1启动失败
我正在运行glassfish 3.1.1。在我的开发机器上(使用Windows XP)已经有一段时间了,但今天早上它无法启动。运行 asadmin start-domain domain1
它报告:Glassfish 3.1.1启动失败
Waiting for domain1 to start .....Error starting domain domain1.
The server exited prematurely with exit code 1.
Before it died, it produced the following output:
Launching GlassFish on Felix platform
Completed shutdown of GlassFish runtime
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMa
in.java:97)
at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:55)
Caused by: java.lang.NullPointerException
at com.sun.enterprise.server.logging.GFFileHandler.postConstruct(GFFileH
andler.java:159)
at com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl.
java:131)
at com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreato
r.java:91)
at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.jav
a:82)
at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.jav
a:67)
at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingIn
habitant.java:139)
at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantIm
pl.java:76)
at org.jvnet.hk2.component.Habitat$5.get(Habitat.java:701)
at java.util.AbstractList$Itr.next(AbstractList.java:358)
at com.sun.enterprise.server.logging.LogManagerService.postConstruct(Log
ManagerService.java:374)
at com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl.
java:131)
at com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreato
r.java:91)
at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.jav
a:82)
at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.jav
a:67)
at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingIn
habitant.java:139)
at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantIm
pl.java:76)
at com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.ja
va:229)
at com.sun.enterprise.v3.server.AppServerStartup.doStart(AppServerStartu
p.java:145)
at com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.
java:136)
at com.sun.enterprise.glassfish.bootstrap.GlassFishImpl.start(GlassFishI
mpl.java:79)
at com.sun.enterprise.glassfish.bootstrap.GlassFishDecorator.start(Glass
FishDecorator.java:63)
at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishImpl.start(O
SGiGlassFishImpl.java:69)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(
GlassFishMain.java:117)
... 6 more
然而,server.log中写道:
1月16日,2
012 10:59:14 AM com.sun.enterprise.admin.launcher.GFLauncherLogger info
Information: JVM invocation command line:
C:\Programme\Java\jdk1.7.0\bin\java.exe
-cp
C:/glassfish3/glassfish/modules/glassfish.jar
-XX:+UnlockDiagnosticVMOptions
-XX:MaxPermSize=192m
-XX:NewRatio=2
-Xmx512m
-client
-javaagent:C:/glassfish3/glassfish/lib/monitor/flashlight-agent.jar
-Dfelix.fileinstall.disableConfigSave=false
-Djavax.net.ssl.keyStore=C:\glassfish3\glassfish\domains\domain1/config/keystore.jks
-Djava.awt.headless=true
-Dfelix.fileinstall.poll=5000
-Djava.endorsed.dirs=C:\glassfish3\glassfish/modules/endorsed;C:\glassfish3\glassfish/lib/endorsed
-Dfelix.fileinstall.bundles.startTransient=true
-Djavax.net.ssl.trustStore=C:\glassfish3\glassfish\domains\domain1/config/cacerts.jks
-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as
-DANTLR_USE_DIRECT_CLASS_LOADING=true
-Djava.security.auth.login.config=C:\glassfish3\glassfish\domains\domain1/config/login.conf
-Dgosh.args=--nointeractive
-Dosgi.shell.telnet.maxconn=1
-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver
-Dfelix.fileinstall.dir=C:\glassfish3\glassfish/modules/autostart/
-Dosgi.shell.telnet.port=6666
-Djava.security.policy=C:\glassfish3\glassfish\domains\domain1/config/server.policy
-Dfelix.fileinstall.log.level=2
-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory
-Dosgi.shell.telnet.ip=127.0.0.1
-Dcom.sun.aas.instanceRoot=C:\glassfish3\glassfish\domains\domain1
-Dcom.sun.aas.installRoot=C:\glassfish3\glassfish
-Djava.ext.dirs=C:\Programme\Java\jdk1.7.0/lib/ext;C:\Programme\Java\jdk1.7.0/jre/lib/ext;C:\glassfish3\glassfish\domains\domain1/lib/ext
-Dfelix.fileinstall.bundles.new.start=true
-Dorg.glassfish.additionalOSGiBundlesToStart=org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command,org.apache.felix.fileinstall
-Djava.library.path=C:/glassfish3/glassfish/lib;C:/Programme/Java/jdk1.7.0/bin;C:/WINDOWS/Sun/Java/bin;C:/WINDOWS/system32;C:/WINDOWS;C:/Programme/NVIDIA Corporation/PhysX/Common;C:/oracle/product/10.2.0/client_1/BIN;C:/WINDOWS/system32/wbem;C:/Programme/Microsoft SQL Server/80/Tools/Binn;C:/WINDOWS/system32/WindowsPowerShell/v1.0;Y:/Maven-3.0.3/bin;C:/TP/ant/bin;Y:/Lotto/JOB-4.3.4-win32/JOB-4.3.4-bin/bin;C:/glassfish3/glassfish/bin
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,,,C:\glassfish3\glassfish\domains,,,domain1
-instancename
server
-verbose
false
-debug
false
-asadmin-classpath
C:/glassfish3/glassfish/modules/admin-cli.jar
-asadmin-classname
com.sun.enterprise.admin.cli.AsadminMain
-upgrade
false
-type
DAS
-domaindir
C:/glassfish3/glassfish/domains/domain1
-read-stdin
true
Jan 16, 2012 10:59:14 AM com.sun.enterprise.admin.launcher.GFLauncherLogger info
Information: Successfully launched in 31 msec.
我们更新到JDK7u2上周五,但我能够启动之后的域名。日志显示它仍在使用JDK1.7.0。无论如何。
任何想法?
您正在看到http://java.net/jira/browse/GLASSFISH-17161这是GLASSFISH-17037的复制品。 GLASSFISH-17037在发行说明中。
解决方法是在调整/更改控制台中的日志级别后运行CLI命令。
%asadmin set-log-levels com.sun.enterprise.server.logging.GFFileHandler = ALL 指定域管理服务器(DAS)以外的服务器实例的--target选项。
该问题已在3.1.2发布中得到修复,该版本即将发布给FCS。
感谢分享,虽然我不会称之为重复:没有更多的日志记录不完全相同,根本不是开始,是吗? – TPete 2012-01-17 19:59:17
3.1.2.2(build 5)中的错误 – 2013-08-29 05:10:01
尝试卸载该修补程序并运行您的Glassfish服务器。 你是否将补丁安装到同一目录?也许你已经安装了2个JDK?我不记得,但也许Glassfish使用它自己的JDK,所以你有冲突。无论如何,我建议你去JDK 1.7.0并重试。
还检查Windows环境变量为JAVA_HOME和PATH,也许问题出在那里。
您也可以尝试完全卸载JDK,然后安装JDK 1.7.0_02(打补丁)。
如上所述,这是glassfish服务器的已知问题,与JDK更新无关。 – TPete 2012-01-17 19:59:40
我们通过替换从域1 /配置/默认配置floder采取“logging.properties”文件来解决这个问题,并放置到域/域1 /配置/
一些调查研究表明,通过管理不断变化的日志记录属性控制台不是一个好主意:[警告,触摸日志记录属性可能会破坏GF安装](http://www.java.net/forum/topic/glassfish/glassfish/warning-touching-logging-properties-may-trash -gf-installation) 就像在那里发布的那样,我从另一个安装中复制了logging.properties,现在一切正常。 – TPete 2012-01-16 10:32:40
请提出问题! – codeplumber 2012-01-16 23:13:49
在Glassfish 4.1上面临同样的问题。在日志配置中进行一些更改,并停止启动,很难相信。 – 2015-07-23 16:07:05