Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.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
使用Web服务的java代码给出了NoClassDefFoundError,为什么eclipse要寻找最新的axiom JAR?_Java_Eclipse_Web Services_Tomcat_Axiom - Fatal编程技术网

使用Web服务的java代码给出了NoClassDefFoundError,为什么eclipse要寻找最新的axiom JAR?

使用Web服务的java代码给出了NoClassDefFoundError,为什么eclipse要寻找最新的axiom JAR?,java,eclipse,web-services,tomcat,axiom,Java,Eclipse,Web Services,Tomcat,Axiom,我在编写java代码以使用web服务时遇到以下NoClassDefFoundError异常。在一些google搜索之后,我意识到这个类出现在axiom-impl-1.2.12.jar中,我正在使用axiom-impl-1.2.5.jar。我替换了它,然后由于axiom-api-1.2.5.jar而开始出现其他类似的异常,所以使用了最新的axiom.jar(包含axiom-impl-1.2.14.jar、axiom-dom-1.2.14.jar和axiom-api-1.2.14.jar),问题得到

我在编写java代码以使用web服务时遇到以下NoClassDefFoundError异常。在一些google搜索之后,我意识到这个类出现在axiom-impl-1.2.12.jar中,我正在使用axiom-impl-1.2.5.jar。我替换了它,然后由于axiom-api-1.2.5.jar而开始出现其他类似的异常,所以使用了最新的axiom.jar(包含axiom-impl-1.2.14.jar、axiom-dom-1.2.14.jar和axiom-api-1.2.14.jar),问题得到了解决

java.lang.NoClassDefFoundError: org/apache/axiom/om/OMSourcedElement
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:190)
    at org.apache.axiom.om.OMAbstractFactory.getOMFactory(OMAbstractFactory.java:55)
    at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:566)
    at org.apache.axis2.deployment.DescriptionBuilder.buildOM(DescriptionBuilder.java:96)
    at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:79)
    at org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:615)
    at org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:115)
    at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:64)
    at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:180)
    at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:146)
    at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
java.lang.NoClassDefFoundError:org/apache/axiom/om/omsourceElement
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(Class.java:190)
位于org.apache.axiom.om.OMAbstractFactory.getOMFactory(OMAbstractFactory.java:55)
位于org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:566)
位于org.apache.axis2.deployment.DescriptionBuilder.buildOM(DescriptionBuilder.java:96)
位于org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:79)
位于org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:615)
位于org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:115)
位于org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:64)
位于org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:180)
位于org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:146)
位于org.apache.axis2.client.ServiceClient.(ServiceClient.java:139)
但问题是,类似的代码在我的队友机器上使用较旧的jar(axiom-impl-1.2.5.jar、axiom-dom-1.2.5.jar和axiom-api-1.2.5.jar)。我怀疑我是否在eclipse(3.7)/tomcat(6.0)中使用了一些配置,因为我的代码正在寻找最新的axiom JAR。我正在使用JDK1.7.0_45和Axis2(1.3)

所以问题是这个配置是什么(或任何其他原因)?
如何更改它,以便也可以使用较旧的axiom JAR(1.2.5版本)?

您应该比较同事的JAR版本,并检查他的JDK版本。这些版本相同,我们从同一存储库中获取JAR。同时尝试检查除NoClassDefFoundError之外是否还有其他异常,然后再次彻底检查JAR和版本,确保类路径中没有同一类的不同版本。正如我告诉过你的,我们从同一存储库获取JAR,因此版本也相同。我注意到jdk7的一个不同版本,我使用的是最新版本。他们正在使用JDK7的一些旧版本。今天,我在Unix服务器上部署了我的代码,它使用旧的axiom jars(1.2.5版本)运行得很好,所以我的本地eclipse设置似乎有一些问题