簡體   English   中英

Gradle Jar依賴錯誤

[英]Gradle Jar Dependency Error

我有一個使用Gradle構建的Java程序。 在此程序中,我使用JSON jar“ org.json:json:2014113”,當我在IDE(IntelliJ 14)中運行該程序時,該程序可以編譯並正常運行。當調用使用JSON的函數時,我得到一個Java.lang.NoClassDefFoundError: org/json/JSONArray錯誤,這是我的build.gradle腳本

version 'UR'

apply plugin: 'java'

sourceCompatibility = 8

repositories {
    mavenCentral()
}

dependencies {

    compile group: 'org.json', name: 'json', version: '20141113'

}

jar {

    destinationDir = file("C:\\Users\\Jonah\\Documents\\Software\\RapIDE Builds")

    manifest {
        attributes 'Main-Class': 'frames.MainFrame'
    }

}

這是我的JSON類

package logic;

import frames.MainFrame;

import org.json.JSONArray;
import org.json.JSONObject;

public class JSONparser extends MainFrame
{

    public static String SLrtrn;

    public static void parseJSON(String JSONinput)
    {

        final JSONArray JSONrtrn = new JSONArray(JSONinput);

        rhymeList.removeAllElements();

        for (int i = 0; i < JSONrtrn.length(); ++i)
        {
            JSONObject parsedObj = (JSONObject) JSONrtrn.get(i);
            SLrtrn = parsedObj.get("word").toString();

            rhymeList.addElement(SLrtrn);
        }
    }
}

我在build.gradle腳本中做錯了嗎?

您的Gradle腳本很好,但是當您運行JAR時,您沒有在classpath中包含org.json jar。

如果您不想這樣做,則可以創建一個稱為胖子的胖子,該胖子將org.json JAR捆綁在您的JAR中。 這里描述這樣的過程。

還有許多其他方法可以做到這一點(請參見此處此處 ),因此您應該研究不同的選項,但最終,在編譯時以及運行程序時,都必須提供org.json JAR。 目前,您只滿足其中的第一個要求。

暫無
暫無

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

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