使用Axis2的Eclipse中的Webservices:ClassNotFoundException [英] Webservices in Eclipse using Axis2: ClassNotFoundException

查看:300
本文介绍了使用Axis2的Eclipse中的Webservices:ClassNotFoundException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在使用Eclipse中的Web服务奋斗了一段时间。
每当我得到一些工作时,它似乎只是以运气为基础,我以多种方式尝试过一切。



我最新的问题涉及到以下:
我有一个使用大量外部引用(jar)的java应用程序。
我已经使用Fat-jar插件(http://fjep.sourceforge.net/)将此java项目导出到一个简单的jar文件,以确保导出的jar包含所有必需的资源。
然后,我创建了一个动态Web项目,并将jar从之前添加到此项目。
当我做一些基本测试时,一切都可以正常工作,即Eclipse找到所有需要的引用。



但是,当我尝试创建一个Web服务时,方法使用与测试完全相同的逻辑,我得到错误。
我不明白为什么我得到一个ClassNotFoundException,因为像我之前说过的那样,当进行本地测试时,Eclipse会找到所有需要的资源。

  [INFO]部署模块:addresses-1.6.1  -  file:/ C:/ Users / Flamant / My master / code / WorkspaceEclipse / .metadata / .plugins / org.eclipse.wst.server。 core / tmp3 / wtpwebapps /org.openmarkov.webservice.engine/WEB-INF/modules/addressing-1.6.1.mar 
[INFO]部署模块:metadataExchange-1.6.1 - 文件:/ C:/ Users / Flamant / My master / code / WorkspaceEclipse / .metadata / .plugins / org.eclipse.wst.server.core / tmp3 / wtpwebapps /org.openmarkov.webservice.engine/WEB-INF/modules/mex-1.6.1。 mar
[INFO]部署模块:mtompolicy-1.6.1 - file:/ C:/ Users / Flamant / My master / code / WorkspaceEclipse / .metadata / .plugins / org.eclipse.wst.server.core / tmp3 / wtpwebapps /org.openmarkov.webservice.engine/WEB-INF/modules/mtompolicy-1.6.1.mar
[INFO]部署模块:ping-1.6.1 - 文件:/ C:/ Users / Flamant /我的主人/代码/作品paceEclipse / .metadata / .plugins / org.eclipse.wst.server.core / tmp3 / wtpwebapps /org.openmarkov.webservice.engine/WEB-INF/modules/ping-1.6.1.mar
[INFO]部署模块:script-1.6.1 - file:/ C:/ Users / Flamant / My master / code / WorkspaceEclipse / .metadata / .plugins / org.eclipse.wst.server.core / tmp3 / wtpwebapps /org.openmarkov。 webservice.engine / WEB-INF / modules / scripting-1.6.1.mar
[INFO]部署模块:soapmonitor-1.6.1 - 文件:/ C:/ Users / Flamant / My master / code / WorkspaceEclipse / .metadata / .plugins / org.eclipse.wst.server.core / tmp3 / wtpwebapps /org.openmarkov.webservice.engine/WEB-INF/modules/soapmonitor-1.6.1.mar
[INFO]引擎服务无效,导致java.lang.NoClassDefFoundError:[Lorg / openmarkov / webservice / Finding;
在java.lang.Class.getDeclaredMethods0(本机方法)
在java.lang.Class.privateGetDeclaredMethods(未知来源)
在java.lang.Class.privateGetPublicMethods(未知来源)
at java.lang.Class.getMethods(Unknown Source)
在org.apache.axis2.description.java2wsdl.bytecode.MethodTable.loadMethods(MethodTable.java:43)
在org.apache。 axis.description.java2wsdl.bytecode.MethodTable。< init>(MethodTable.java:33)
在org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator。< init>(DefaultSchemaGenerator.java:141)$在$ org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:389)
$ b b在org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:178)上的org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:101)

在org.apache.axis2.deployment.ServiceDeplo yer.deploy(ServiceDeployer.java:82)
在org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
在org.apache.axis2.deployment。 DeploymentEngine.doDeploy(DeploymentEngine.java:813)
在org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
在org.apache.axis2.deployment。 RepositoryListener.update(RepositoryListener.java:370)
在org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
在org.apache.axis2.deployment.DeploymentEngine.loadServices( DeploymentEngine.java:142)
在org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(WarBasedAxisConfigurator.java:283)
在org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java: 95)
在org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:584)
在org.apache.axis2.transport.http.AxisServlet.init(AxisServlet。 java:454)
在org.apache.axis2.webapp.AxisAdminServlet.init(AxisAdminServlet.java:60)
在org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1228)
在org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1147)
在org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1043)
在org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4957)
在org.apache.catalina.core.StandardContext $ 3.call(StandardContext.java:5284)
在org。 apache.catalina.core.StandardContext $ 3.call(StandardContext.java:5279)
在java.util.concurrent.FutureTask $ Sync.innerRun(未知来源)
在java.util.concurrent.FutureTask。运行(未知源)
在java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
在java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知源)
在java。 lang.Thread.run(Unknown Source)
引起的:java.lang.ClassNotFoundException:org.openmarkov.webservi ce.Finding
在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
... 34更多

[INFO] org.apache.axis2.deployment.DeploymentException:java.lang.NoClassDefFoundError:[Lorg / openmarkov / webservice / Find;
[INFO]部署Web服务:version.aar - file:/ C:/ Users / Flamant / My master / code / WorkspaceEclipse / .metadata / .plugins / org.eclipse.wst.server.core / tmp3 / wtpwebapps / org.openmarkov.webservice.engine / WEB-INF / services / version.aar
[WARN]找不到org.apache.axis2.transport.http.AxisServletListener的transportReceiver。将自动配置HTTP的实例。请更新您的axis2.xml文件!
apr 11,2012 10:51:45 AM org.apache.coyote.AbstractProtocol start
INFO:启动ProtocolHandler [http-bio-8081]
apr 11,2012 10:51 :45 AM org.apache.coyote.AbstractProtocol start
INFO:启动ProtocolHandler [ajp-bio-8010]
apr 11,2012 10:51:45 AM org.apache.catalina.startup。 Catalina开始
INFO:服务器启动在1928年ms

如果有人有想法,我会非常感谢。



谢谢,
Thomas

解决方案

实际上,你正在面对NoClassDefFoundError,当运行时没有找到所需的lib时,会发生这种情况。检查libs在你的运行时类路径。


I've been struggling a while now with web services in Eclipse. Every time I get something working, it merely seems to be based on luck and I've tried everything in numerous ways.

My latest problem involves the following: I've got a java application which uses a lot of external references (jars). I've exported this java project to a simple jar file using the Fat-jar plugin (http://fjep.sourceforge.net/) to make sure the exported jar contains all the needed resources. I then created a dynamic web project and added the jar from before to this project. When I do some basic tests, everything works fine, i.e. Eclipse finds all the needed references.

However, when I try to create a web service, whose methods use the exact same logic as the tests, I get errors. I don't understand why I get a ClassNotFoundException because, like i said before, when doing local tests, Eclipse finds all the needed resources.

[INFO] Deploying module: addressing-1.6.1 - file:/C:/Users/Flamant/My     master/code/WorkspaceEclipse/.metadata/.plugins/org.eclipse.wst.server.core/tmp3/wtpwebapps    /org.openmarkov.webservice.engine/WEB-INF/modules/addressing-1.6.1.mar
[INFO] Deploying module: metadataExchange-1.6.1 - file:/C:/Users/Flamant/My     master/code/WorkspaceEclipse/.metadata/.plugins/org.eclipse.wst.server.core/tmp3/wtpwebapps    /org.openmarkov.webservice.engine/WEB-INF/modules/mex-1.6.1.mar
[INFO] Deploying module: mtompolicy-1.6.1 - file:/C:/Users/Flamant/My     master/code/WorkspaceEclipse/.metadata/.plugins/org.eclipse.wst.server.core/tmp3/wtpwebapps    /org.openmarkov.webservice.engine/WEB-INF/modules/mtompolicy-1.6.1.mar
[INFO] Deploying module: ping-1.6.1 - file:/C:/Users/Flamant/My     master/code/WorkspaceEclipse/.metadata/.plugins/org.eclipse.wst.server.core/tmp3/wtpwebapps    /org.openmarkov.webservice.engine/WEB-INF/modules/ping-1.6.1.mar
[INFO] Deploying module: script-1.6.1 - file:/C:/Users/Flamant/My     master/code/WorkspaceEclipse/.metadata/.plugins/org.eclipse.wst.server.core/tmp3/wtpwebapps    /org.openmarkov.webservice.engine/WEB-INF/modules/scripting-1.6.1.mar
[INFO] Deploying module: soapmonitor-1.6.1 - file:/C:/Users/Flamant/My     master/code/WorkspaceEclipse/.metadata/.plugins/org.eclipse.wst.server.core/tmp3/wtpwebapps    /org.openmarkov.webservice.engine/WEB-INF/modules/soapmonitor-1.6.1.mar
[INFO] The Engine service, which is not valid, caused java.lang.NoClassDefFoundError:     [Lorg/openmarkov/webservice/Finding;
    at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetPublicMethods(Unknown Source)
at java.lang.Class.getMethods(Unknown Source)
at org.apache.axis2.description.java2wsdl.bytecode.MethodTable.loadMethods(MethodTable.java:43)
at org.apache.axis2.description.java2wsdl.bytecode.MethodTable.<init>(MethodTable.java:33)
at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.<init>(DefaultSchemaGenerator.java:141)
at org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java:453)
at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:389)
at org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:101)
at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:178)
at org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:82)
at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:813)
at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:370)
at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
at org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngine.java:142)
at org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(WarBasedAxisConfigurator.java:283)
at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:95)
at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:584)
at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:454)
at org.apache.axis2.webapp.AxisAdminServlet.init(AxisAdminServlet.java:60)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1228)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1147)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1043)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4957)
at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5284)
at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5279)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.openmarkov.webservice.Finding
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
... 34 more

[INFO] org.apache.axis2.deployment.DeploymentException: java.lang.NoClassDefFoundError:     [Lorg/openmarkov/webservice/Finding;
[INFO] Deploying Web service: version.aar - file:/C:/Users/Flamant/My master/code/WorkspaceEclipse/.metadata/.plugins/org.eclipse.wst.server.core/tmp3/wtpwebapps/org.openmarkov.webservice.engine/WEB-INF/services/version.aar
[WARN] No transportReceiver for org.apache.axis2.transport.http.AxisServletListener found. An instance for HTTP will be configured automatically. Please update your axis2.xml file!
apr 11, 2012 10:51:45 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8081"]
apr 11, 2012 10:51:45 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8010"]
apr 11, 2012 10:51:45 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1928 ms

If anyone has an idea, I would greatly appreciate it.

Thanks, Thomas

解决方案

Actually, you are facing NoClassDefFoundError, which occurs when the required libs are not found at runtime...Check the libs are at your runtime classpath..

这篇关于使用Axis2的Eclipse中的Webservices:ClassNotFoundException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆