maven
引入插件依赖即可,spring打包jar时会自动处理(如果没有自动下载spring-boot-thin-layout,可以临时放到工程本身的依赖项中,下载完毕后再去掉)
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot.experimental</groupId>
<artifactId>spring-boot-thin-layout</artifactId>
<version>${wrapper.version}</version>
</dependency>
</dependencies>
</plugin>
gradle
- 在buildscript依赖中加入springboot thinjar插件
classpath("org.springframework.boot.experimental:spring-boot-thin-gradle-plugin:${v.thinJar}")
- 启用插件
apply { plugin("org.springframework.boot.experimental.thin-launcher") }
- gradle任务中将新增一系列thinJar相关的任务,通常只使用build/thinJar即可,执行成功后会在build/libs/下生成jar(体积非常小,去掉了所有的依赖),在build/resources/下生成pom.xml(包名与你的springboot application类所在包名一致)
- 使用pom.xml在服务器手动部署依赖包(未安装maven的请先安装maven)
这里只安装了字节码的jar包(适合生产环境),如果要同时安装包含javadoc和源码(适合开发环境),可以设置下列aliasmvn -f pom.xml dependency:copy-dependencies
然后到pom.xml所在的目录下执行alias mvni='mvn dependency:copy-dependencies -f pom.xml && mvn dependency:resolve -Dclassifier=javadoc -f pom.xml && mvn dependency:sources -f pom.xml'
mvni
即可 - 若某次打出的jar包突然增大(几十上百MB),删除build目录后重新打包即可
- 项目配置中不能缺少io.spring.dependency-management和maven这两个gradle插件,否则无法正确生成pom和打包(并且缺少这两个依赖的错误提示是反的)
网友评论