繁体   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