本文共 3673 字,大约阅读时间需要 12 分钟。
?Gradle??Spring Boot??????????
src/main/java/com/example/demo/DemoApplication.java
package com.example.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) { System.out.println("[DemoApplication.main]: 10"); SpringApplication.run(DemoApplication.class, args); }} plugins { id 'org.springframework.boot' version '2.3.1.RELEASE' id 'io.spring.dependency-management' version '1.0.9.RELEASE' id 'java'}group = 'com.example'version = '0.0.1-SNAPSHOT'sourceCompatibility = '1.8'repositories { mavenCentral()}dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' }}test { useJUnitPlatform()} ??build????bootjar????jar?????????/build/libs/?
??build????jar????jar???build/libs/...
??????jar?????build.gradle?????????????jar???????????build.gradle????
jar { enabled = true} ???????????????
task makeJar(type: Jar) { delete 'build/mylib/test.jar' baseName = 'test' from('build/classes/java') { include('**/*.jar') } exclude('dir1/', 'file1') destinationDir = file('build/mylib')}makeJar.dependsOn(build) task makeJar(type: Copy) { delete 'build/libs/test.jar' from('build/intermediates/bundles/release') { include('classes.jar') } into('build/libs') rename('classes.jar', 'test.jar')}makeJar.dependsOn(build) apply plugin: 'com.github.johnrengelman.shadow'sourceCompatibility = 1.8buildscript { repositories { maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath "com.github.jengelman.gradle.plugins:shadow:1.2.3" }}shadowJar { baseName = 'hello' classifier = null version = null zip64 true manifest { attributes 'Main-Class': 'com.example.Main' }}gradle shadowJar apply plugin: 'idea'apply plugin: 'java'version = '1.0'repositories { mavenCentral()}project.ext { springVersion = '4.0.4.RELEASE' minaVersion = '2.0.13'}dependencies { compile('com.alibaba:dubbo:2.4.9') { exclude group: 'org.springframework', module: 'spring' } compile("org.apache.zookeeper:zookeeper:3.3.6") { exclude group: 'javax.jms', module: 'jms' exclude group: 'com.sun.jmx', module: 'jmxri' exclude group: 'com.sun.jdmk', module: 'jmxtools' } compile("com.github.sgroschupf:zkclient:0.1") { exclude group: 'javax.jms', module: 'jms' exclude group: 'com.sun.jmx', module: 'jmxri' exclude group: 'com.sun.jdmk', module: 'jmxtools' } compile "org.springframework:spring-webmvc:$springVersion", "org.springframework:spring-web:$springVersion", ... fileTree(dir: 'lib', include: '*.jar')}jar { String someString = '' configurations.runtime.each { someString = someString + " lib\\"+it.name } manifest { attributes 'Main-Class': 'com.each.dubboMainEnd' attributes 'Class-Path': someString }}task copyJar(type: Copy) { from configurations.runtime into('build/libs/lib')}release(type: Copy, dependsOn: [build, copyJar]) { from 'conf' into('build/libs/eachend/conf')}gradle release 转载地址:http://hftjz.baihongyu.com/