gradle + idea 构建 可运行的jar包

来源:互联网 发布:数据质量控制体系 编辑:程序博客网 时间:2024/06/08 06:13

项目背景

需要一个在远程服务器上运行的java程序,为了精简性,没有使用springboot构建,考虑构建一个可运行的jar

gradle

  • 使用的是 IDEA 的gradle插件
  • 配置
    • 可运行的jar鲍插件gradle-capsule-plugin,会把依赖的第三方jar包和你的代码打入一个包中。
    • 添加nexus私服地址
    • sourceSets 将resources包中的配置文件打入class中。
    • 指定main方法。
    • 指定编译时使用UTF-8
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.7repositories {    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"}