当我在 GlassFish 服务器中部署 Web 应用程序时,该服务器显示以下错误消息

问题描述 投票:0回答:3

当我在 GlassFish 服务器中部署 Web 应用程序时,该服务器显示以下错误消息:

C:\Program Files\glassfish-3.1.2\glassfish\bin>asadmin start-domain domain1
java.nio.file.AccessDeniedException: C:\Program Files\glassfish-3.1.2\glassfish\
    domains\domain1\logs\server.log.lck
    at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
    at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
    at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
    at sun.nio.fs.WindowsFileSystemProvider.newFileChannel(Unknown Source)
    at java.nio.channels.FileChannel.open(Unknown Source)
    at java.nio.channels.FileChannel.open(Unknown Source)
    at java.util.logging.FileHandler.openFiles(Unknown Source)
    at java.util.logging.FileHandler.<init>(Unknown Source)
    at com.sun.enterprise.admin.launcher.GFLauncherLogger.addLogFileHandler(GFLauncherLogger.java:100)
    at com.sun.enterprise.admin.launcher.GFLauncher.setup(GFLauncher.java:189)
    at com.sun.enterprise.admin.cli.StartDomainCommand.createLauncher(StartDomainCommand.java:209)
    at com.sun.enterprise.admin.cli.StartDomainCommand.executeCommand(StartDomainCommand.java:107)
    at com.sun.enterprise.admin.cli.CLICommand.execute(CLICommand.java:264)
    at com.sun.enterprise.admin.cli.AsadminMain.executeCommand(AsadminMain.java:306)
    at com.sun.enterprise.admin.cli.AsadminMain.main(AsadminMain.java:238) 
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
    ERROR: Error parsing system bundle export statement: 
        org.osgi.framework; version=1.6.0,
        org.osgi.framework.launch; version=1.0.0, 
        org.osgi.framework.wiring; version=1.0.0,
        org.osgi.framework.startlevel; version=1.0.0,    
        org.osgi.framework.hooks.bundle; version=1.0.0,           
        org.osgi.framework.hooks.resolver; version=1.0.0,
        org.osgi.framework.hooks.service; version=1.1.0,          
        org.osgi.framework.hooks.weaving; version=1.0.0,
        org.osgi.service.packageadmin; version=1.2.0,
        org.osgi.service.startlevel; version=1.1.0,
        org.osgi.service.url; version=1.0.0,
        org.osgi.util.tracker; version=1.5.0, ,   
    org.glassfish.embeddable;org.glassfish.embeddable.spi;version=3.1.1 (org.osgi.framework.BundleException: Exported package names cannot be zero length.)
    ERROR: Unable to create cache directory: C:\Program Files\glassfish-      3.1.2\glassfish\domains\domain1\osgi-cache\felix
    ERROR: Error creating bundle cache. (java.lang.RuntimeException:
    Unable to create cache directory.)
    org.osgi.framework.BundleException: Exported package names cannot be zero length.
        at org.apache.felix.framework.util.manifestparser.ManifestParser.normalizeExportClauses(ManifestParser.java:729)
        at org.apache.felix.framework.util.manifestparser.ManifestParser.<init>(ManifestParser.java:191)
        at org.apache.felix.framework.ExtensionManager.<init>(ExtensionManager.java:220)
        at org.apache.felix.framework.Felix.<init>(Felix.java:374)
        at org.apache.felix.framework.FrameworkFactory.newFramework(FrameworkFactory.java:28)
        at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiFrameworkLauncher.launchOSGiFrameWork(OSGiFrameworkLauncher.java:77)
        at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishRuntimeBuilder.build(OSGiGlassFishRuntimeBuilder.java:128)
        at org.glassfish.embeddable.GlassFishRuntime._bootstrap(GlassFishRuntime.java:157)
        at org.glassfish.embeddable.GlassFishRuntime.bootstrap(GlassFishRuntime.java:110)
        at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(GlassFishMain.java:112)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:97)
        at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:55)
    java.lang.RuntimeException: Unable to create cache directory.
        at org.apache.felix.framework.cache.BundleCache.<init>(BundleCache.java:131)
        at org.apache.felix.framework.Felix.init(Felix.java:629)
        at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiFrameworkLauncher$1.run(OSGiFrameworkLauncher.java:88)
    Exception in thread "Thread-1" java.lang.RuntimeException:     

    org.osgi.framework.BundleException: Error creating bundle cache.
        at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiFrameworkLauncher$1.run(OSGiFrameworkLauncher.java:90)
    Caused by: org.osgi.framework.BundleException: Error creating bundle cache.
        at org.apache.felix.framework.Felix.init(Felix.java:634)
        at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiFrameworkLauncher$1.run(OSGiFrameworkLauncher.java:88)
    Caused by: java.lang.RuntimeException: Unable to create cache directory.
        at org.apache.felix.framework.cache.BundleCache.<init>(BundleCache.java:131)
        at org.apache.felix.framework.Felix.init(Felix.java:629)
        ... 1 more
    Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:97)
        at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:55)
    Caused by: org.glassfish.embeddable.GlassFishException:     

    java.lang.NullPointerException
        at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishRuntimeBuilder.build(OSGiGlassFishRuntimeBuilder.java:164)
        at org.glassfish.embeddable.GlassFishRuntime._bootstrap(GlassFishRuntime.java:157)
        at org.glassfish.embeddable.GlassFishRuntime.bootstrap(GlassFishRuntime.java:110)
        at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(GlassFishMain.java:112)
        ... 6 more 
    Caused by: java.lang.NullPointerException
        at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishRuntimeBuilder.newFramework(OSGiGlassFishRuntimeBuilder.java:230)
        at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishRuntimeBuilder.build(OSGiGlassFishRuntimeBuilder.java:133)
        ... 9 more
    Error stopping framework: java.lang.NullPointerException
    java.lang.NullPointerException
        at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher$1.run(GlassFishMain.java:203)
    Java HotSpot(TM) Client VM warning: ignoring option     
    MaxPermSize=192m;     

    support was removed in 8.0
    Java Hotot(TM) Client VM warning: ignoring option PermSize=64m;    

    support was removed in 8.0

    Command start-domain failed.

    C:\Program Files\glassfish-3.1.2\glassfish\bin>
glassfish
3个回答
0
投票

我不是 glassfish 专家,但通常您会从下到上阅读堆栈跟踪。因此,最上面的错误消息是最详细的错误消息。此堆栈跟踪中最上面的错误消息是:

file.AccessDeniedException`

在文件上

C:\Program Files\glassfish-3.1.2\glassfish\ domains\domain1\logs\server.log.lck`

我还在日志的第二部分看到:

ERROR: Unable to create cache directory: C:\Program Files\glassfish- 3.1.2\glassfish\domains\domain1\osgi-cache\felix`

在我看来,这像是一个文件权限问题,或者一个应该存在但实际上不存在的目录。


0
投票

您必须以管理员身份使用命令行来连接到服务器。你应该得到下一个:

命令-1:

cd C:\Program Files\glassfish4.1\glassfish\bin //Here your glassfish bin directory

命令2:

asadmin start-domain

0
投票

请正确查看这对我有用的目录

C:\GLASSFISH_HOME in>asadmin 起始域domain1

等待domain1启动.........................

11,396 毫秒后等待结束。

成功启动域:domain1

域位置:C:\GLASSFISH_HOME\glassfish\domains\domain1

日志文件:C:\GLASSFISH_HOME\glassfish\domains\domain1\logs\server.log

管理端口:4,848

命令 start-domain 成功执行。

© www.soinside.com 2019 - 2024. All rights reserved.