Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 运行简单EJB应用程序时出现问题_Java_Glassfish_Ejb 3.0 - Fatal编程技术网

Java 运行简单EJB应用程序时出现问题

Java 运行简单EJB应用程序时出现问题,java,glassfish,ejb-3.0,Java,Glassfish,Ejb 3.0,我目前正在使用无状态会话Bean运行一个简单的EJB应用程序。我正在使用Personal Glassfish 3.0开发NetBeans 6.8,并且在我的系统上安装了JavaEE和JavaSE。我不知道它是否相关,但我正在运行Windows7 64位版本。我实现的会话Bean只有一个方法sayHello();它只是在屏幕上打印hello。当我尝试运行应用程序时,出现以下错误: pre-init: init-private: init-userdir: init-user: init-proje

我目前正在使用无状态会话Bean运行一个简单的EJB应用程序。我正在使用Personal Glassfish 3.0开发NetBeans 6.8,并且在我的系统上安装了JavaEE和JavaSE。我不知道它是否相关,但我正在运行Windows7 64位版本。我实现的会话Bean只有一个方法sayHello();它只是在屏幕上打印hello。当我尝试运行应用程序时,出现以下错误:

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)
pre 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:
预编译:
预编译:
要编译:
编译后:
汇编:
区前:
邮政区:
dist目录部署:
预运行部署:
正在启动个人GlassFish v3域
Personal GlassFish v3域正在运行。
取消部署。。。
正在初始化。。。
最初将MyEnterprise部署到C:\Users\Naqsam\Documents\NetBeansProjects\MyEnterprise\dist\gfdeploy\MyEnterprise
完成MyEnterprise的初始分发
运行后部署:
运行部署:
运行显示浏览器:
运行交流:
初始化前:
初始化私有:
初始化用户目录:
初始化用户:
初始项目:
执行初始化:
初始化后:
初始检查:
初始化:
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:
预编译:
预编译:
要编译:
编译后:
汇编:
区前:
邮政区:
dist目录部署:
预运行部署:
取消部署。。。
最初将MyEnterprise部署到C:\Users\Naqsam\Documents\NetBeansProjects\MyEnterprise\dist\gfdeploy\MyEnterprise
完成MyEnterprise的初始分发
运行后部署:
运行部署:
警告:找不到要复制的文件C:\Users\Naqsam\.netbeans\6.8\GlassFish\u v3\generated\xml\MyEnterprise\MyEnterpriseClient.jar。
正在将1个文件复制到C:\Users\Naqsam\Documents\NetBeansProjects\MyEnterprise\dist
正在将4个文件复制到C:\Users\Naqsam\Documents\NetBeansProjects\MyEnterprise\dist\MyEnterpriseClient
正在将1个文件复制到C:\Users\Naqsam\Documents\NetBeansProjects\MyEnterprise\dist\MyEnterpriseClient
java.lang.NullPointerException
位于org.glassfish.appclient.client.acc.ACCLogger$1.run(ACCLogger.java:149)
位于java.security.AccessController.doPrivileged(本机方法)
在org.glassfish.appclient.client.acc.ACCLogger.reviseLogger(ACCLogger.java:146)上
位于org.glassfish.appclient.client.acc.ACCLogger.init(ACCLogger.java:93)
位于org.glassfish.appclient.client.acc.ACCLogger.(ACCLogger.java:80)
位于org.glassfish.appclient.client.AppClientFacade.createBuilder(AppClientFacade.java:360)
位于org.glassfish.appclient.client.AppClientFacade.prepareACC(AppClientFacade.java:247)
位于org.glassfish.appclient.client.acc.agent.AppClientContainerAgent.premain(AppClientContainerAgent.java:75)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:323)
位于sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:338)
Java结果:1
运行MyEnterprise应用程序客户端:
运行:
生成成功(总时间:1分59秒)
服务器还显示以下错误消息:


你认为问题出在哪里?这仍然是我的第一个EJB应用程序,所以我不熟悉这个API。

删除所有EJB并重新启动Glassfish服务器。看看有没有错误。如果您在没有EJB的情况下出现错误,那么您的Glassfish安装有问题


如果Glassfish在没有EJB的情况下启动良好,那么请发布您的EJB代码。EJB代码可能存在一些问题。

删除所有EJB并重新启动Glassfish服务器。看看有没有错误。如果您在没有EJB的情况下出现错误,那么您的Glassfish安装有问题


如果Glassfish在没有EJB的情况下启动良好,那么请发布您的EJB代码。EJB代码可能有问题。

用户Pascal Thivent出于某种奇怪的原因删除了包含此问题答案的帖子。因此,我将不得不重新发布解决方案

因此,基本上解决方案是:

1:Glassfish抛出了很多警告,因为它安装在路径名中有空格“Program Files”的目录中。因此,要解决此问题,只需将其安装在C中:/

2:关于抛出的NullPointerException(参见第一篇文章并向下滚动一点),似乎有一个问题,请参见glassfish和java6u18的链接。所以要解决这个问题,要么等待java在将来的更新中修复这个bug,要么降级到java6u17或更低


希望这可能会有帮助。

用户Pascal Thivent出于一些奇怪的原因删除了包含此问题答案的帖子。因此,我将不得不重新发布解决方案

所以基本上解决方案是ar