2010-03-10 25 views
1

我目前正在運行一個使用無狀態會話Bean的簡單EJB應用程序。我正在使用Personal Glassfish 3.0開發NetBeans 6.8,並在我的系統上安裝了Java EE和Java SE。我不知道它是否是相關的,但我正在運行Windows7 64位版本。我實現的Session Bean只有一個方法sayHello();它只是在屏幕上打印出你好。當我嘗試運行應用程序,我發現了以下錯誤:運行簡單EJB應用程序的問題

pre-init: 
init-private: 
init-userdir: 
init-user: 
init-project: 
do-init: 
post-init: 
init-check: 
init: 
deps-jar: 
deps-j2ee-archive: 
MyEnterprise-app-client.init: 
MyEnterprise-ejb.init: 
MyEnterprise-ejb.deps-jar: 
MyEnterprise-ejb.compile: 
MyEnterprise-ejb.library-inclusion-in-manifest: 
MyEnterprise-ejb.dist-ear: 
MyEnterprise-app-client.deps-jar: 
MyEnterprise-app-client.compile: 
MyEnterprise-app-client.library-inclusion-in-manifest: 
MyEnterprise-app-client.dist-ear: 
MyEnterprise-ejb.init: 
MyEnterprise-ejb.deps-jar: 
MyEnterprise-ejb.compile: 
MyEnterprise-ejb.library-inclusion-in-manifest: 
MyEnterprise-ejb.dist-ear: 
pre-pre-compile: 
pre-compile: 
do-compile: 
post-compile: 
compile: 
pre-dist: 
post-dist: 
dist-directory-deploy: 
pre-run-deploy: 
Starting Personal GlassFish v3 Domain 
Personal GlassFish v3 Domain is running. 
Undeploying ... 
Initializing... 
Initial deploying MyEnterprise to C:\Users\Naqsam\Documents\NetBeansProjects\MyEnterprise\dist\gfdeploy\MyEnterprise 
Completed initial distribution of MyEnterprise 
post-run-deploy: 
run-deploy: 
run-display-browser: 
run-ac: 
pre-init: 
init-private: 
init-userdir: 
init-user: 
init-project: 
do-init: 
post-init: 
init-check: 
init: 
deps-jar: 
deps-j2ee-archive: 
MyEnterprise-app-client.init: 
MyEnterprise-ejb.init: 
MyEnterprise-ejb.deps-jar: 
MyEnterprise-ejb.compile: 
MyEnterprise-ejb.library-inclusion-in-manifest: 
MyEnterprise-ejb.dist-ear: 
MyEnterprise-app-client.deps-jar: 
MyEnterprise-app-client.compile: 
MyEnterprise-app-client.library-inclusion-in-manifest: 
MyEnterprise-app-client.dist-ear: 
MyEnterprise-ejb.init: 
MyEnterprise-ejb.deps-jar: 
MyEnterprise-ejb.compile: 
MyEnterprise-ejb.library-inclusion-in-manifest: 
MyEnterprise-ejb.dist-ear: 
pre-pre-compile: 
pre-compile: 
do-compile: 
post-compile: 
compile: 
pre-dist: 
post-dist: 
dist-directory-deploy: 
pre-run-deploy: 
Undeploying ... 
Initial deploying MyEnterprise to C:\Users\Naqsam\Documents\NetBeansProjects\MyEnterprise\dist\gfdeploy\MyEnterprise 
Completed initial distribution of MyEnterprise 
post-run-deploy: 
run-deploy: 
Warning: Could not find file C:\Users\Naqsam\.netbeans\6.8\GlassFish_v3\generated\xml\MyEnterprise\MyEnterpriseClient.jar to copy. 
Copying 1 file to C:\Users\Naqsam\Documents\NetBeansProjects\MyEnterprise\dist 
Copying 4 files to C:\Users\Naqsam\Documents\NetBeansProjects\MyEnterprise\dist\MyEnterpriseClient 
Copying 1 file to C:\Users\Naqsam\Documents\NetBeansProjects\MyEnterprise\dist\MyEnterpriseClient 
java.lang.NullPointerException 
     at org.glassfish.appclient.client.acc.ACCLogger$1.run(ACCLogger.java:149) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at org.glassfish.appclient.client.acc.ACCLogger.reviseLogger(ACCLogger.java:146) 
     at org.glassfish.appclient.client.acc.ACCLogger.init(ACCLogger.java:93) 
     at org.glassfish.appclient.client.acc.ACCLogger.<init>(ACCLogger.java:80) 
     at org.glassfish.appclient.client.AppClientFacade.createBuilder(AppClientFacade.java:360) 
     at org.glassfish.appclient.client.AppClientFacade.prepareACC(AppClientFacade.java:247) 
     at org.glassfish.appclient.client.acc.agent.AppClientContainerAgent.premain(AppClientContainerAgent.java:75) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:323) 
     at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:338) 
Java Result: 1 
run-MyEnterprise-app-client: 
run: 
BUILD SUCCESSFUL (total time: 1 minute 59 seconds) 

服務器還顯示此錯誤消息:

http://pastebin.com/NNu1eGA1

你認爲是什麼問題?這仍然是我的第一個EJB應用程序,所以我是這個API的新手。

+0

感謝您刪除您以前的完全相同的問題。 – 2010-03-10 15:00:41

回答

1

刪除所有EJB並重新啓動Glassfish服務器。看看你是否有任何錯誤。如果您在沒有EJB的情況下出錯,那麼您的Glassfish安裝有問題。

如果Glassfish在沒有EJB的情況下正常啓動,那麼請發佈您的EJB代碼。 EJB代碼可能存在一些問題。

+0

我嘗試重新啓動Glassfish多次,但結果從未改變,如上所示的相同異常被拋出。然後,我會嘗試重新安裝Glassfish,並查看它是否有效。 – 2010-03-12 23:46:53

0

用戶Pascal Thivent非常友善地刪除了包含此問題的答案的帖子,因爲一些奇怪的和奇怪的原因。所以我將不得不重新發布解決方案。

所以基本上解決方案是:

1:Glassfish的被扔了很多的警告,因爲它被安裝在一個目錄,它的路徑名有空間的「程序文件」。所以要解決這個問題,只需將它安裝在C:/

2:關於拋出的NullPointerException(請參閱第一篇文章並向下滾動一下),似乎有一個問題,請參閱此鏈接https://glassfish.dev.java.net/issues/show_bug.cgi?id=11494 with glassfish和java6u18 。所以要解決這個問題,要麼等待java在未來的更新中修復這個bug,要麼降級到java6u17或更低版​​本。

希望這可能會有所幫助。

+0

是的,我刪除了**我的**答案(可能嗎?),因爲您似乎沒有看重它,因爲您已經有了一個非常好的答案,可以清楚準確地解釋問題所在(您接受了答案,你呢?),嘆氣。那爲什麼要麻煩? – 2010-03-14 14:30:41

+0

我真誠地不明白爲什麼你對這個問題感到如此不安。我剛問過一個問題,你和navr都告訴我重新安裝glassfish(thx)。 Navr張貼在你之前,因此我選擇他的答案。唯一讓我感到不公平的是,我不得不兩次寫出解決方案,因此浪費了時間,(因爲首先我把解決方案寫成了你的答案的評論),因爲你刪除了你的答案(你完全有權利這樣做,但這對我不公平)。 – 2010-03-15 09:51:37