2010-03-10 58 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