1

EclipseのWebサービスでしばらく苦労しています。何かがうまくいくたびに、それは単に運に基づいているようで、私はさまざまな方法ですべてを試しました。

私の最新の問題は次のとおりです。多くの外部参照(jar)を使用するJavaアプリケーションがあります。Fat-jarプラグイン(http://fjep.sourceforge.net/)を使用してこのJavaプロジェクトを単純なjarファイルにエクスポートし、エクスポートされたjarに必要なすべてのリソースが含まれていることを確認しました。次に、動的Webプロジェクトを作成し、以前のjarファイルをこのプロジェクトに追加しました。基本的なテストを行うと、すべてが正常に機能します。つまり、Eclipseは必要なすべての参照を検出します。

ただし、メソッドがテストとまったく同じロジックを使用するWebサービスを作成しようとすると、エラーが発生します。前に述べたように、ローカルテストを実行すると、Eclipseが必要なすべてのリソースを検出するため、ClassNotFoundExceptionが発生する理由がわかりません。

[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

誰かアイデアがあれば、よろしくお願いします。

ありがとう、トーマス

4

4 に答える 4

1

実際には、実行時に必要なライブラリが見つからない場合に発生するNoClassDefFoundErrorに直面しています...ライブラリが実行時のクラスパスにあることを確認してください。

于 2012-04-11T15:00:59.600 に答える
0

私もこの問題に直面しました。私の場合、[1]の記事の手順を明確に実行していません。手順 12 では、「サービス プロジェクト」の名前を変更しないでください。

于 2014-03-02T11:28:28.037 に答える
0

Eclipse 環境では Web サービスが正常に動作するのに、動的 Web プロジェクトでは動作しないということですか? 動的 Web プロジェクトに jar がありませんか?

于 2012-04-11T09:24:09.363 に答える
0

少なくともこれらのactivation-1.1.jar、axiom-api-1.2.8.jar、axiom-dom-1.2.8.jar、axiom-impl-1.2.8.jar、axis2-adb-1.5.1.jar、 axis2-kernel-1.5.1.jar、axis2-transport-http-1.5.1.jar、axis2-transport-local-1.5.1.jar、commons-codec-1.3.jar、commons-fileupload-1.2.jar、 commons-httpclient-3.1.jar、commons-logging-1.1.1.jar、geronimo-stax-api_1.0_spec-1.0.1.jar、httpcore-4.0.jar、mail-1.4.jar、neethi-2.0.4. jar、woden-api-1.0M8.jar、woden-impl-dom-1.0M8.jar、wsdl4j-1.6.2.jar、wstx-asl-3.2.4.jar、XmlSchema-1.4.3.jar

于 2013-09-01T14:16:19.363 に答える