2011-05-14 114 views
5

我試圖在Netbeans 7上的Glassfish v3.x上運行我的Java EE web應用程序,但它不會工作,並給我出現以下錯誤:Glassfish 3.x啓動失敗。 我不知道玻璃魚用過之前工作正常的問題,但後來突然停止工作我unstandalled netbeans和glassfishñ再次安裝它,但仍然是同樣的問題。 這裏是GlassFish的日誌:Glassfish 3.x啓動失敗

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 

問候。

回答

8

我知道這是幾個月前問,但這個問題是爲數不多的來源我在谷歌找到遇到此問題時,我認爲它會很好的分享位我學到一個:

我有同樣的確切的問題,並嘗試上述兩個事情。不過,我的XML文件似乎沒有損壞。最後,我發現問題的根源在於我的項目中依賴關係中的icu4j庫,它不知道爲什麼。一旦我將它刪除,我終於免費了!

還應該指出,Netbeans 7.0.1(我使用的IDE)也「使用」這個庫。爲了以防萬一,我將這個圖書館移出原來的位置。 NB至今仍然沒有任何問題。

希望它可以幫助別人!

+2

感謝您發佈您的解決方案!它幫助我解決了我正在處理的Liferay-Vaadin portlet中的相同問題。經驗,我不得不從「應用程序」目錄中徹底刪除我的應用程序Undeplo通過Glassfish管理控制檯應用該應用程序將留下WEB-INF/lib /目錄和內容(以及icu4j JAR)。 – CatsAndCode 2012-03-19 16:07:50

1

這很奇怪......它如何說「啓動失敗」,如果它加載你的應用程序?看看日誌的最後三行!

我有這樣的問題,但我需要的只是右鍵單擊「服務」選項卡上的GF服務器節點並「刷新」它。通常NB認爲緩慢的GF啓動爲「失敗」。

+0

感謝您的anwser,上面的消息是所有我對日誌,我已經嘗試刷新,但仍然不工作:( – cascadox 2011-05-14 11:51:03

+0

昨天我安裝了Netbeans 6.9和glassfish工作得很好,今天當我試圖繼續我的工作,玻璃魚拒絕重新開始!我不明白!:s – cascadox 2011-05-15 11:29:50

+0

刪除您在GF(數據源,應用程序,連接器,池等)上創建的所有內容 - 只是爲了檢查問題是安裝還是您添加的內容! – 2011-05-16 23:11:41

2

我用這種方法修好了我的礦。這似乎是我的域名XML文件已損壞(我不知道如何),但我做了如下:

從服務器節點(右鍵單擊並刪除)中刪除當前的服務器,然後製作一個新的服務器,除了說要選擇域名之外,請輸入您自己的域名(EX。myDomain),然後設置服務器。

等待幾秒鐘,並且bam,新的XML文件沒有損壞,你應該能夠很好地運行你的服務器!

0

如果使用Java 8,但在OP要求的時候,另一個可能的答案是服務器代碼包含lambdas。如果你的代碼中有lambda表達式,試着用匿名的內部類替換它們,你受影響的類現在應該很好。