使用Axis2的Eclipse中的Webservices:ClassNotFoundException [英] Webservices in Eclipse using Axis2: ClassNotFoundException
问题描述
每当我得到一些工作时,它似乎只是以运气为基础,我以多种方式尝试过一切。
我最新的问题涉及到以下:
我有一个使用大量外部引用(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屋!