2015-09-25 109 views

回答

6

在gradle这个你可以使用shadowJar插件来解决这个问题。我的编译fat jar的build.gradle文件:

apply plugin: 'java' 
apply plugin: 'idea' 
apply plugin: 'com.github.johnrengelman.shadow' 
apply plugin: 'application' 

mainClassName = 'ru.antowka.Initializer' 

buildscript { 
    repositories { jcenter() } 
    dependencies { 
     classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.2' 
    } 
} 

jar { 
    manifest { 
     attributes 'Main-Class': mainClassName 
    } 
} 

shadowJar { 
    mergeServiceFiles('META-INF/spring.*') 
} 

// JDK 8 
sourceCompatibility = 1.8 
targetCompatibility = 1.8 

compileJava.options.encoding = 'UTF-8' 

repositories { 

    maven { 
     url 'http://repo.spring.io/snapshot' 
    } 

    mavenLocal() 
    mavenCentral() 
    jcenter() 
} 

dependencies { 
    compile 'org.jsoup:jsoup:1.8.3' 
    compile 'org.springframework:spring-context:4.2.2.BUILD-SNAPSHOT' 
    compile 'log4j:log4j:1.2.17' 
    compile 'org.quartz-scheduler:quartz:1.8.6' 
    compile 'org.springframework:spring-support:2.0.8' 
    compile 'org.springframework:spring-tx:2.5.4' 
    compile 'org.springframework:spring-orm:4.1.7.RELEASE' 
    compile 'org.hibernate:hibernate-core:4.3.10.Final' 
    compile 'org.postgresql:postgresql:9.4-1201-jdbc41' 
    compile 'org.apache.commons:commons-dbcp2:2.1' 

    testCompile 'org.springframework:spring-test:4.2.0.RELEASE' 
    testCompile 'org.mockito:mockito-core:1.+' 
    testCompile 'junit:junit:4.12' 
} 
+0

谢谢,我知道了 – sagar

相关问题