SpringBoot项目瘦身加快部署

springboot项目开发后期,依赖的jar包一般是比较稳定的,所以我们可以把依赖的jar包分离出来,每次只打包业务代码,通常业务代码是很小的,一般就几百K.运行的之后只需要指定依赖jar包的路径就可以正常运行了.

1.导出依赖的jar包到当前目录的lib文件夹

  1. > mvn dependency:copy-dependencies -DoutputDirectory=lib

2.配置pom.xml,只包含业务代码,依赖的通用包全部排除

  1. <plugin>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-maven-plugin</artifactId>
  4. <configuration>
  5. <executable>true</executable>
  6.      <layout>ZIP</layout>
  7. <mainClass>
  8. com.iasp.BasicStarter
  9. </mainClass>
  10. <includes>
  11. <!--只包含自己-->
  12. <!--配置方法1-->
  13. <include>
  14. <groupId>${groupId}</groupId>
  15. <artifactId>${artifactId}</artifactId>
  16. </include>
  17.     <!--或配置方法2-->
  18.    <!--依赖jar不打进项目jar包中-->
  19. <!--<include>
  20. <groupId>nothing</groupId>
  21. <artifactId>nothing</artifactId>
  22. </include>-->
  23. </includes>
  24. <!--或配置方法3->
  25. <!--不包含哪些-->
  26. <!--<excludeGroupIds>-->
  27. <!--com.hundsun.jrescloud,-->
  28. <!--org.springframework.boot,-->
  29. <!--org.springframework-->
  30. <!--</excludeGroupIds>-->
  31. </configuration>
  32. <executions>
  33. <execution>
  34. <goals>
  35. <goal>repackage</goal>
  36. </goals>
  37. </execution>
  38. </executions>
  39. </plugin>

3.启动项目,把lib目录上传到服务器,然后通过-Dloader.path="path"来指定lib的路径

  1. > java -jar -Dloader.path="lib" xxx.jar
  2. # Linux 后台运行
  3. > nohup java -jar -Dloader.path="lib" xxx.jar &
  4. # windows 后台运行
  5. > start javaw -jar -Dloader.path="lib" xxx.jar

注意:

如果使用了git管理代码,记得在.gitignore里面添加lib/,忽略lib上传.

  1. > vim .gitignore
  2. + lib/
  3. > git rm -r --cached .
  4. > git add .
  5. > git commit -m "mod .gitignore"
  6. > git push
返回笔记列表
入门小站