gradle快速构建一个可执行的java项目

0 篇文章 0 订阅

项目结构如下
项目根目录

++++src
    ----indi.yftao
        ++++Main.java
        ----xx.kt
----build.gradle

Step1:build.gradle配置如下:

apply plugin: 'java'
//设置Java源文件的位置,默认为src/main/java
sourceSets {
    main.java.srcDirs += 'src'
    test.java.srcDirs += 'test'
}
repositories {
    mavenCentral()
}
dependencies {
    compile group: 'com.alibaba', name: 'fastjson', version: '1.2.47'
    compile 'com.google.guava:guava:16.0'
    testCompile 'junit:junit:4.12'
}
jar {
   //可执行jar包依赖配置:
    doFirst {
        from { configurations.runtime.collect { it.isDirectory() ? it : zipTree(it)}}
    }
    manifest {
        //程序入口类,包含静态main函数的类(全限定名:包名+类名)
        attributes 'Main-Class': 'indi.yftao.Main'
    }
}

Step2:在src目录的包路径下编写入口类(带静态main函数,注意buil.gradle中的Main-Class设置),然后在项目根目录下执行构建命令:
gradle clean build

得到的jar包在build/libs下面

Step3:直接执行:
java -jar build/libs/<项目名>.jar

支持kotlin的build.gradle文件内容

buildscript {
    ext.kotlin_version = '1.2.10'
    repositories {
        mavenCentral()
    }
    dependencies {
        //kotlin工具
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
apply plugin: 'kotlin'
//设置Java源文件的位置,默认为src/main/java
sourceSets {
    main.java.srcDirs += 'src'
    test.java.srcDirs += 'test'
}
repositories {
    mavenCentral()
}
dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    compile group: 'com.alibaba', name: 'fastjson', version: '1.2.47'
    compile 'com.google.guava:guava:16.0'
    testCompile 'junit:junit:4.12'
}
jar {
   //可执行jar包依赖配置
    doFirst {
        from { configurations.runtime.collect { it.isDirectory() ? it : zipTree(it)}}
    }
    manifest {
        //程序入口类(包含main函数),kotlin的main函数不知道为什么不行
        attributes 'Main-Class': 'indi.yftao.Main'
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值