gradle + idea 構建 可執行的jar包
阿新 • • 發佈:2019-01-03
專案背景
需要一個在遠端伺服器上執行的java程式,為了精簡性,沒有使用springboot構建,考慮構建一個可執行的jar
gradle
- 使用的是 IDEA 的gradle外掛
- 配置
- 可執行的jar鮑外掛
gradle-capsule-plugin
,會把依賴的第三方jar包和你的程式碼打入一個包中。 - 新增nexus私服地址
- sourceSets 將resources包中的配置檔案打入class中。
- 指定main方法。
- 指定編譯時使用UTF-8
- 可執行的jar鮑外掛
group 'cn.ecotrans.move'
version '1.0-SNAPSHOT'
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "us.kirchmeier:gradle-capsule-plugin:1.0.2"
}
}
apply plugin: "us.kirchmeier.capsule"
apply plugin: 'java'
apply plugin: 'application'
mainClassName = 'image.move.Mover'
sourceCompatibility = 1.7
repositories {
mavenCentral()
maven {
url "私服倉庫"
}
}
dependencies {
compile "joda-time:joda-time:2.2"
compile "fastdfs_client:fastdfs_client:1.25"
compile "org.springframework:spring-context:4.3.9.RELEASE"
compile group: 'org.springframework', name: 'spring-core', version: '4.3.9.RELEASE'
compile group: 'org.springframework' , name: 'spring-jdbc', version: '4.3.9.RELEASE'
compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.42'
testCompile group: 'junit', name: 'junit', version: '4.11'
}
sourceSets {
main {
output.resourcesDir = "build/classes/main"
}
test {
output.resourcesDir = "build/classes/test"
}
}
task simpleCapsule(type: FatCapsule) {
applicationClass 'image.move.Mover'
baseName 'Mover'
}
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}