Gradle打包jar可执行程序
1. 使用springboot插件
apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'spring-boot' buildscript { ext { springBootVersion = '1.2.5.RELEASE' } repositories { jcenter() mavenLocal() mavenCentral() } dependencies { classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}" } } sourceCompatibility = 1.8 version = '1.0' jar { manifest { attributes 'Implementation-Title': 'Gradle Quickstart', 'Implementation-Version': version } } repositories { mavenCentral() } dependencies { compile project(':dubbo-hello-api') compile group: 'com.alibaba', name: 'dubbo', version: '2.5.5' } test { systemProperties 'property': 'value' } uploadArchives { repositories { flatDir { dirs 'repos' } } }
2. 使用application
apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'application' sourceCompatibility = 1.8 version = '1.0' mainClassName = 'm.dubbo.demo.provider.DemoProvider' repositories { mavenCentral() } dependencies { compile project(':dubbo-hello-api') compile group: 'com.alibaba', name: 'dubbo', version: '2.5.5' } jar { from configurations.compile.collect { zipTree it}//gradle build生成jar包含了依赖的jar包(被解压缩) manifest { attributes 'Manifest-Version': '1.0.0', 'Main-Class': mainClassName, 'Class-Path': configurations.compile.collect { it.getName() }.join(' ') //将依赖的包加到classpath,然后gradle installDist } } test { systemProperties 'property': 'value' } uploadArchives { repositories { flatDir { dirs 'repos' } } }