Gradle没有将jsoup导入jar文件

时间:2016-07-18 07:22:52

标签: java gradle build.gradle

我想使用gradle将整个应用程序打包到一个.jar文件中。但似乎没有用。

这是我的build.gradle文件:

 group 'imgscrapper'
 version '1.0-SNAPSHOT'

 apply plugin: 'java'
 apply plugin: 'java-library-distribution'


 sourceCompatibility = 1.5

 repositories {
     mavenCentral()
 }
 jar {
     manifest {
         sourceSets.main.java.srcDirs = ['Main/src']
         attributes 'Main-Class': 'imgscrapper.Main'

     }
 }
 dependencies {
     testCompile group: 'junit', name: 'junit', version: '4.11'
     compile 'org.jsoup:jsoup:1.9.2'
     compile 'com.intellij:forms_rt:7.0.3'
 }

和目录树:

 .
 ├── production
 │   └── Main
 │       ├── com
 │       │   └── intellij
 │       │       └── uiDesigner
 │       │           └── core
 │       │               ├── AbstractLayout.class
 │       │               ├── DimensionInfo.class
 │       │               ├── GridConstraints.class
 │       │               ├── GridLayoutManager.class
 │       │               ├── HorizontalInfo.class
 │       │               ├── LayoutState.class
 │       │               ├── Spacer.class
 │       │               ├── SupportCode.class
 │       │               ├── SupportCode$TextWithMnemonic.class
 │       │               ├── Util.class
 │       │               └── VerticalInfo.class
 │       └── imgscrapper
 │           ├── Frame$1.class
 │           ├── Frame$2.class
 │           ├── Frame$3.class
 │           ├── Frame$4.class
 │           ├── Frame$5.class
 │           ├── Frame.class
 │           ├── GetImages.class
 │           └── Main.class
 └── test
     └── Main
         └── com
             └── intellij
                 └── uiDesigner
                     └── core
                         ├── AbstractLayout.class
                         ├── DimensionInfo.class
                         ├── GridConstraints.class
                         ├── GridLayoutManager.class
                         ├── HorizontalInfo.class
                         ├── LayoutState.class
                         ├── Spacer.class
                         ├── SupportCode.class
                         ├── SupportCode$TextWithMnemonic.class
                         ├── Util.class
                         └── VerticalInfo.class

据我所知,gradle应该自己将jsoup导入包中,但是当我尝试运行我的jar文件时,我得到了:

java.lang.NoClassDefFoundError: org/jsoup/nodes/Document

我做错了什么?

1 个答案:

答案 0 :(得分:1)

不,这不是它的工作原理。依赖关系不会添加到开箱即用的jar文件中。

要解决此问题,您需要构建一个胖jar(使用this插件)或使用application插件(通过gradle随分发一起提供)。