2012-07-19 40 views
0

我想在netbeans中部署axis2 web服务,我在netbeans中安装了插件axis2。另外我使用EclipseLink 2.0来连接数据库。当我在我创建的主类中使用时,我的连接成功。但是,当我尝试测试我的web服务与右键的NetBeans上的服务会引发此异常:java.lang.NoClassDefFoundError:javax/persistence/Persistence ... axis2和eclipselink

[错误]的javax /持续性/持久性 java.lang.NoClassDefFoundError:使用javax /持续性/持久性 在db.util .ManageConnection.getStatsEntityManagerFactory(ManageConnection.java:33) 在services.LoginService.loginService(LoginService.java:31) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl。 java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) 在org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194) 在org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invokeBusinessLogic(RPCInOnlyMessageReceiver.java:63) 在org.apache。 axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173) at org.apache.axis2.transport.http.util.RESTUtil。 invokeAxisEngine(RESTUtil.java:135) at org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:130) at org.apache.axis2.transport.http.AxisServlet $ RestRequestProcessor.processURLRequest( (AxisServlet.java:271) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:290) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core。 StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core。 StandardContextValve.invoke(StandardContextValve.java:191) 在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 在org.apache.coyote.http11。 Http11Processor.process(Http11Processor.java:849) at org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint $ Worker.run( JIoEndpoint.java:454) at java.lang.Thread.run(Thread.java:662) 引起来的:java.l ang.ClassNotFoundException:Class not found:javax.persistence.Persistence at org.apache.axis2.deployment.DeploymentClassLoader.findClass(DeploymentClassLoader.java:92) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 在org.apache.axis2.deployment.DeploymentClassLoader.loadClass(DeploymentClassLoader.java:273) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 31更多 [错误] org.apache.axis2 。AxisFault:使用javax /持续性/持久性

我可以部署其他服务,不包含与EclipseLink的连接(EntityManager的......)

我在其他论坛上发现了同样的问题,但他们在使用Hibernate,该解决方案是添加到类路径:hibernate-jpa-2.0-api-1.0.0.Final.jar,在此链接http://www.coderanch.com/t/513512/ORM/databases/Error-java-lang-NoClassDefFoundError-javax

但我不知道什么是与EclipseLink的问题我不知道如果我添加其他图书馆和哪里..非常感谢...

这个我的服务类

公共类login服务{

EntityManagerFactory emf = ManageConnection. 
    getStatsEntityManagerFactory(PersistenceConfiguration. 
    getPERSISTENCE_UNIT_NAME()); 

public String prubaServicioWeb(String nombre) { 
    return nombre + " Welcome"; 

} 

public void loginService(String whatever) { 

    BankJpaController bankController = new 
    BankJpaController(emf); 
    Bank bank = new Bank(); 
    bank.setId(null); 
    bank.setBankCode("BNSJ"); 
    bank.setName("Bank of America"); 
    bankController.create(bank); 

} 

}

回答

1

你需要一个进来要么javax.persistence_1.0.0.jar位于javax.persistence类(如果仅使用JPA 1.0)或javax.persistence_2。 0.4.v201112161009.jar如果使用JPA 2.0(这个jar可能会被命名为稍微不同,这是2.4里程碑发布的)。

这些将位于EclipseLink下载的jlib/jpa目录中。

+0

谢谢...我把jar放在库中,抛出其他异常...实体管理器的返回值为null,但是当我测试一个主类时,实体管理器成功,我可以连接数据库...但我测试Web服务抛出以下异常:[错误]尝试调用服务方法时发生异常loginService java.lang.NullPointerException at db.controller.BankJpaController.getEntityManager(BankJpaController.java:33).. ......我必须考虑其他事情吗? – user505391 2012-07-20 18:27:59

+0

当试图进入一个类,其中我导入EntityManager netbeans把这个下面:无法打开EntityManager(缺少源?但我真的把库编译好:( – user505391 2012-07-20 18:43:30