簡體   English   中英

Bluemix Java Liberty Web Project java.lang.NoClassDefFoundError:加載第三方jar時

[英]Bluemix Java Liberty Web Project java.lang.NoClassDefFoundError: when loading third party jar

我正在使用IBM Bluemix的Java For Liberty來部署Web應用程序。

我試圖獲得系統env並將其轉換為JSONObject

在此輸入圖像描述

我非常確定我已經將jar文件添加到了類路徑中

在此輸入圖像描述

但是,在我運行應用程序(嘗試推送到bluemix雲並在自由配置文件應用程序服務器中本地運行)之后,它會拋出java.lang.NoClassDefFoundError

在此輸入圖像描述

請說明我應該如何配置.....

您需要將jar添加到dep-jar文件夾,並使用包含的build.xml構建war文件。

build.xml查找classPathDir ,它將如下所示。

<path id="classpathDir">
        <pathelement location="bin"/>
        <pathelement location="dep-jar/com.ibm.ws.javaee.jaxrs.1.1_1.0.1.jar"/>
    </path>

您需要將每個jar添加到該塊中。 例如。

    <path id="classpathDir">
        <pathelement location="bin"/>
        <pathelement location="dep-jar/com.ibm.ws.javaee.jaxrs.1.1_1.0.1.jar"/>
        <pathelement location="dep-jar/json-1.0.0.jar"/>
    </path>

或者您可以執行以下操作,其中包括dep-jar所有dep-jar

<path id="classpathDir">
    <pathelement location="bin"/>
    <pathelement location="dep-jar/com.ibm.ws.javaee.jaxrs.1.1_1.0.1.jar"/>
    <fileset dir="dep-jar/" includes="*.jar" />
</path>

dep-jar文件夾中dep-jar文件不會與最終的應用程序二進制文件打包(war)。 它僅用於編譯期間。 如果您希望jar包含在war中(在運行時使用),則需要將它包含在WebContent/WEB-INF/lib文件夾中。

如果您創建並下載Java DB Web Starter樣板,您將看到正確的結構設置 - WebContent/WEB-INF/lib/nosqljson.jar

暫無
暫無

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

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