做企业网站需要的人,wiki网站开发工具,宠物网站开发,制作网页的三大技术是哪些springcloud项目打包动辄100多兆#xff0c;在文件上传部署的时候非常耗时#xff0c;多数情况下是毫无意义的耗时#xff0c;因为依赖包很多情况下不需要改变#xff0c;只是修改了业务逻辑#xff0c;那么每次打包上传的时间都浪费了#xff0c;尤其在开发环境下#…springcloud项目打包动辄100多兆在文件上传部署的时候非常耗时多数情况下是毫无意义的耗时因为依赖包很多情况下不需要改变只是修改了业务逻辑那么每次打包上传的时间都浪费了尤其在开发环境下需要快速部署启动测试那么减少依赖包提高效率非常必要springboot项目因为他默认打包了所有依赖的jar包。此时就可以通过maven-dependency-plugin插件将依赖包复制到独立的文件夹在启动jar包的时候引用即可。 maven-compiler-plugin 1.81.8UTF-8${project.basedir}/src/main/resources/liborg.springframework.boot spring-boot-maven-plugin com.xxx.XXXXApplicationZIP${project.groupId} ${project.artifactId} org.apache.maven.plugins maven-dependency-plugin cdnpackagecopy-dependenciesjarjarruntime${project.build.directory}/libsorg.apache.maven.plugins maven-surefire-plugin 2.22.2true${project.basedir}/src/main/resources/lib${project.build.directory}/libs/**/*.jar**/*.properties${project.basedir}/src/main/resources/config/**src/main/resources**/*.properties**/*.xml**/*.html${project.basedir}/src/main/resources/config/**/*.propertiesfalsesrc/main/resources/config/${profiles.active}/BOOT-INF/classes/**/*.properties**/*.htmlsrc/main/java**/*.properties**/*.xmlfalse重点关注以下这段org.apache.maven.plugins maven-dependency-plugin cdnpackagecopy-dependenciesjarjarruntime${project.build.directory}/libsmaven-dependency-plugin插件在打包的时候会在自定义目录(${project.build.directory}/libs)下生成所有依赖包。单独提出依赖包那么springboot项目启动肯定是需要有额外配置的不然不能正常启动所有启动命令中需要添加-Dloader.pathlibs/即为java -Dloader.pathlibs/ -jar demo.jar如果使用Jenkins打包上传怎么全量更新依赖包呢jenkins在Jenkins中编译完成后需要把${project.build.directory}/libs生成的jar文件上传到服务器那就需要build后添加Post Steps添加Execute shell 即添加shell脚本打包命令cd demo/target/libstar -cvf demo.tar *.jar然后需要Post Steps中添加Send files or execute commands over SSH也就是发送文件或者执行shell命令Source files demo/target/libs/demo-libs.tarRemove prefix:demo/target/libsRemote directory:Exec command:cd /home/demo/jarif [ ! -d demo-libs-tmp ]; then mkdir demo-libs-tmpfitar -xvf demo-libs.tar -C demo-libs-tmprm -f demo-libs.tar图一图二这样配置下启动脚本中修改启动命令即OKjava -Dloader.pathlibs/ -jar demo.jar