项目背景
需要一个在远程服务器上运行的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"
}