簡體   English   中英

java.lang.NoClassDefFoundError:org / apache / axis2 / client / Stub

[英]java.lang.NoClassDefFoundError: org/apache/axis2/client/Stub

我已經使用Axis2向我的項目添加了一個Web服務,現在我無法運行我的應用程序。

這是我使用的類路徑:

<property name="classpath" location="bin:EventReservationCore/bin:EventReservationCore/db:EventReservationCore/lib/*:EventReservationCore/lib/util_iso2.jar:EventReservationCore/lib/sqlitejdbc-v056.jar:AuthorizationRMI/lib/AuthorizationService.jar:EventReservationCore/lib/activemq-all-5.4.3.jar:/home/ander/axis2-1.6.1/webapp/axis2.war"/>

這是在我添加Axis2 Web服務之前運行的目標。

<target name="run.besocial">
            <java classname="eventReservationServer.ReservationEventServer" classpath="${classpath}" fork="true">
                <jvmarg value="-Djava.rmi.server.codebase=file:EventReservationCore/bin/ file:EventReservationCore/lib/util_iso2.jar"/>
                <jvmarg value="-Djava.security.policy=EventReservationCore/java.policy" />
            </java>
    </target>

結果我得到了這個錯誤:

 [java] Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/axis2/client/Stub
 [java]     at java.lang.ClassLoader.defineClass1(Native Method)
 [java]     at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
 [java]     at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
 [java]     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
 [java]     at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
 [java]     at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
 [java]     at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
 [java]     at java.security.AccessController.doPrivileged(Native Method)
 [java]     at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
 [java]     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
 [java]     at eventReservationServer.eventServerGateway.WSEventServerGateway.getEvents(WSEventServerGateway.java:19)
 [java]     at eventReservationServer.ReservationEventServer.<init>(ReservationEventServer.java:101)
 [java]     at eventReservationServer.ReservationEventServer.main(ReservationEventServer.java:130)
 [java] Caused by: java.lang.ClassNotFoundException: org.apache.axis2.client.Stub
 [java]     at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
 [java]     at java.security.AccessController.doPrivileged(Native Method)
 [java]     at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
 [java]     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
 [java]     ... 15 more

如果您使用的是tomcat,請將位於axis2 / lib文件夾下的所有jar文件復制到tomcat / lib文件夾中,並將它們添加到類路徑中,如下所示:D:\\ axis2-1.6.2 \\ lib *

線程“main”中的異常java.lang.NoClassDefFoundError:org / apache / axis2 / client / Stub

通過將axis2-kernel-1.6.2添加到類路徑可以消除上述錯誤,但是在使用wsdl2java.bat生成存根之后,您可能會開始獲得其他錯誤。

因此,在編譯客戶端時,最好將所有axis2-jar添加到類路徑中。

希望這可以幫助

沒有一個答案對我有幫助。 這就是我做的。

我使用eclipse生成Runnable Jar(右鍵單擊 - > Export-> Runnable Jar),所有庫都作為包添加。 它給了我一個JAR,我可以從命令行運行。

然后我在eclipse和Jar之間做了差異,我的構建創建了。 我能夠找到我的構建沒有放入Jar的缺失依賴項。

如果您遇到JBoss類加載器的相同問題,請按照此處此處的提示進行操作。

最重要的部分是在JBoss模塊配置中定義一個新模塊,並在MANIFEST.MF文件中找到該模塊。

Maven將幫助您完成后續部分。 以下是將軸模塊添加到Manifest文件的示例配置。

         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ejb-plugin</artifactId>
            <configuration>
                <archive>
                    <manifestEntries> <!--Manually added JBoss Modules (that are not found by JBoss class loader) must be loaded here-->
                        <Dependencies>axis.axis</Dependencies>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>

根據您的包裝類型,您可以使用其他maven插件,如maven-jar-plugin或maven-war-plugin。

依賴包名稱必須與您在JBoss模塊中為模塊名稱指定的名稱匹配。 上面的軸模塊在JBoss模型中定義,如上面的鏈接所述。

 <module xmlns="urn:jboss:module:1.1" name="axis.axis">
    <properties>
        <property name="jboss.api" value="private"/>
    </properties> 
 <!--  ...   -->
 </module>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM