我正在構建我的簡單Java應用程序,它具有一些JAR依賴關係。構建腳本如下所示。如果使用命令gradle mainjar
,它會很好。但是,如果我使用gradle build
,構建工作正常,但運行時我得到ClassNotFoundException
,表明JAR文件未正確鏈接。簡單的Java應用程序構建在Gradle上
我瞭解我在mainjar
任務下寫的幾行,但是如何使它們在正常的build
任務中執行。
apply plugin: 'java'
apply plugin:'application'
repositories {
mavenCentral()
}
sourceSets {
main {
java {
srcDir 'src'
}
}
mainjar
}
jar {
manifest { attributes 'Main-Class': 'in.co.madhur.wunderjava.Main' }
}
mainClassName = "in.co.madhur.wunderjava.Main"
task mainjar(type: Jar) {
from files(sourceSets.main.output.classesDir)
from files(sourceSets.main.output.resourcesDir)
from {configurations.compile.collect {zipTree(it)}}
manifest {
attributes 'Main-Class': 'in.co.madhur.wunderjava.Main'
}
}
dependencies {
compile 'com.fasterxml.jackson.core:jackson-core:2.3.0-rc1'
compile 'com.fasterxml.jackson.core:jackson-databind:2.3.0-rc1'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.3.0-rc1'
compile 'com.squareup.retrofit:retrofit:1.5.0'
}
dependencies {
runtime 'com.fasterxml.jackson.core:jackson-core:2.3.0-rc1'
runtime 'com.fasterxml.jackson.core:jackson-databind:2.3.0-rc1'
runtime 'com.fasterxml.jackson.core:jackson-annotations:2.3.0-rc1'
runtime 'com.squareup.retrofit:retrofit:1.5.0'
}
感謝您的出色答案。我接受了 –