Gradle Jar依赖性错误

时间:2015-08-02 23:27:53

标签: java json intellij-idea gradle

我有一个使用Gradle构建的java程序。在这个程序中,我使用JSON jar" org.json:json:2014113"当我在我的IDE(IntelliJ 14)中运行它时,这个程序编译并正常工作。当我运行jar时,它也编译并运行得很好,除了调用我使用JSON的函数时,我得到一个{ {1}}这里的错误是我的build.gradle脚本

Java.lang.NoClassDefFoundError: org/json/JSONArray

这是我的JSON类

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'
    }

}

我在build.gradle脚本中做错了吗?

1 个答案:

答案 0 :(得分:4)

您的Gradle脚本没问题,但是当您运行JAR时,您没有在类路径中包含org.json jar。

如果你不想这样做,你可以创建一个所谓的胖jar,它将org.json JAR捆绑在你的JAR中。这个过程描述为here

还有很多其他方法可以执行此操作(请参阅herehere),因此您应该研究不同的选项,但在一天结束时,org.json JAR需要在您出现时编译,但也运行程序时。在那一刻,你只满足了第一个要求。