【问题标题】:Glassfish 3.x start failedGlassfish 3.x 启动失败
【发布时间】:2011-05-14 00:45:38
【问题描述】:

我正在尝试在 Netbeans 7 上的 Glassfish v3.x 上运行我的 java EE Web 应用程序,但它不会工作,并给我以下错误:Glassfish 3.x 启动失败。 我不知道 glassfish 以前可以正常工作但突然停止工作的问题是什么,我取消了 netbeans 和 glassfish n 再次安装,但仍然是同样的问题。 这是 glassfish 日志:

Launching GlassFish on Felix platform
INFO: Registered org.glassfish.ha.store.adapter.cache.ShoalBackingStoreProxy for persistence-type = replicated in BackingStoreFactoryRegistry
INFO: Grizzly Framework 1.9.31 started in: 585ms - bound to [0.0.0.0:3700]
INFO: Grizzly Framework 1.9.31 started in: 580ms - bound to [0.0.0.0:8181]
INFO: Grizzly Framework 1.9.31 started in: 738ms - bound to [0.0.0.0:8080]
INFO: Grizzly Framework 1.9.31 started in: 584ms - bound to [0.0.0.0:7676]
INFO: Grizzly Framework 1.9.31 started in: 539ms - bound to [0.0.0.0:4848]
GRAVE: Exception while visiting com/ibm/icu/impl/data/LocaleElements_zh__PINYIN.class of size 84805
java.lang.ArrayIndexOutOfBoundsException: 48188
    at org.objectweb.asm.ClassReader.readClass(Unknown Source)
    at org.objectweb.asm.ClassReader.accept(Unknown Source)
    at org.objectweb.asm.ClassReader.accept(Unknown Source)
    at org.glassfish.hk2.classmodel.reflect.Parser$5.on(Parser.java:362)
    at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.handleEntry(ReadableArchiveScannerAdapter.java:171)
    at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.onSelectedEntries(ReadableArchiveScannerAdapter.java:133)
    at org.glassfish.hk2.classmodel.reflect.Parser.doJob(Parser.java:346)
    at org.glassfish.hk2.classmodel.reflect.Parser.access$300(Parser.java:70)
    at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:305)
    at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:294)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

INFO: SEC1002: Security Manager is OFF.
INFO: SEC1010: Entering Security Startup Service
INFO: SEC1143: Loading policy provider com.sun.enterprise.security.provider.PolicyWrapper.
INFO: SEC1115: Realm [admin-realm] of classtype [com.sun.enterprise.security.auth.realm.file.FileRealm] successfully created.
INFO: SEC1115: Realm [file] of classtype [com.sun.enterprise.security.auth.realm.file.FileRealm] successfully created.
INFO: SEC1115: Realm [certificate] of classtype [com.sun.enterprise.security.auth.realm.certificate.CertificateRealm] successfully created.
INFO: SEC1011: Security Service(s) Started Successfully
INFO: WEB0169: Created HTTP listener [http-listener-1] on host/port [0.0.0.0:8080]
INFO: WEB0169: Created HTTP listener [http-listener-2] on host/port [0.0.0.0:8181]
INFO: WEB0169: Created HTTP listener [admin-listener] on host/port [0.0.0.0:4848]
INFO: WEB0171: Created virtual server [server]
INFO: WEB0171: Created virtual server [__asadmin]
INFO: WEB0172: Virtual server [server] loaded default web module []
INFO: Initialisation de Mojarra 2.1.0 (FCS 2.1.0-b11) pour le contexte '/mavenproject1'
INFO: Monitoring jndi:/server/mavenproject1/WEB-INF/faces-config.xml for modifications
INFO: PWC1412: WebModule[null] ServletContext.log():Initializing Spring root WebApplicationContext

最好的问候。

【问题讨论】:

    标签: netbeans glassfish


    【解决方案1】:

    我知道几个月前有人问过这个问题,但是这个问题是我在遇到这个问题时在 Google 中找到的少数几个来源之一,我认为最好分享一下我学到的一点:

    我遇到了同样的问题,并尝试了上述两种方法。不过,我的 XML 文件似乎没有损坏。最后我发现问题的根源在于 icu4j 库,不知道为什么,在我的项目中的依赖项中。一旦我删除它,我终于摆脱了那个错误!

    还应注意,Netbeans 7.0.1(我正在使用的 IDE)也“使用”了这个库。为了以防万一,我把这个图书馆搬出了原来的位置。到目前为止,NB 继续运行,没有任何问题。

    希望它也对其他人有所帮助!

    【讨论】:

    • 感谢您发布您的解决方案!它帮助我解决了我正在处理的 Liferay-Vaadin portlet 上的相同问题。只是为了增加我的经验,我不得不从“应用程序”目录中完全删除我的应用程序。通过 Glassfish 管理控制台取消部署应用程序会留下 WEB-INF/lib/ 目录和内容(以及 icu4j JAR)。
    【解决方案2】:

    我是这样修的。似乎我的域 XML 文件已损坏(我不知道如何),但我所做的如下:

    从服务器节点中删除您当前的服务器(右键单击并删除),然后创建一个新服务器,除非它说选择一个域,输入您自己的域名(EX. myDomain)然后设置服务器.

    等待几秒钟,bam,新的 XML 文件,没有损坏,你应该可以完美地运行你的服务器了!

    【讨论】:

      【解决方案3】:

      这很奇怪......如果它加载了您的应用程序,它会如何显示“启动失败”?看看日志的最后三行!

      我遇到了一些这样的问题,但我只需要右键单击“服务”选项卡上的 GF 服务器节点并“刷新”它。通常 NB 将缓慢的 GF 启动视为“失败”。

      【讨论】:

      • 感谢您的回答,上面的消息是我在日志上的全部内容,我已经尝试刷新但仍然无法正常工作:(
      • 昨天我安装了 Netbeans 6.9 并且 glassfish 工作得很好,今天当我试图继续我的工作时,glassfish 拒绝重新开始!我不明白! :s
      • 删除您在 GF 上创建的所有内容(数据源、应用程序、连接器、池等) - 只是为了检查问题是安装还是您添加的内容!
      • 我卸载它并重新安装它,它现在正在工作
      【解决方案4】:

      如果使用 Java 8,但在 OP 询问的时候不是,现在可能的另一个答案是服务器代码包含 lambdas。如果您的代码中确实有 lambda,请尝试将它们替换为匿名内部类,并且受影响的类现在应该可以使用了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多