我正在运行glassfish 3.1.1。在我的开发机器上(使用Windows XP)已经有一段时间了,但今天早上它无法启动。运行
asadmin start-domain domain1
它报道:
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。反正。
有什么想法吗?
答案 0 :(得分:3)
您看到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中。
答案 1 :(得分:1)
我们通过替换从domain1 / config / default-config floder中获取并放入域/ domain1 / config /
的“logging.properties”文件来解决此问题答案 2 :(得分:0)
尝试卸载修补程序并运行Glassfish服务器。 你是否将补丁安装到同一目录?也许你安装了2个JDK?我不记得了,但也许Glassfish使用它自己的JDK,所以你有一个冲突。无论如何,我建议你去JDK 1.7.0再试一次。
将Windows环境变量检查为JAVA_HOME和PATH,可能存在问题。
您也可以尝试完全卸载JDK,并安装JDK 1.7.0_02(已修补)。