项目结构如下 项目根目录
++++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'
}
}