SpringBoot-将项⽬代码与依赖分开打包教程
默认情况下,Spring Boot 项⽬发布时会将项⽬代码和项⽬的所有依赖⽂件⼀起打成⼀个可执⾏的 jar 包。但如果项⽬的依赖包很多,那么这个⽂件就会⾮常⼤。这样每次即使只改动⼀点东西,就需要将整个项⽬重新打包部署,既浪费带宽也浪费时间,⼗分不便。下⾯演⽰如何将依赖 lib 从项⽬分离出来,这样每次部署只需要发布代码即可。maven打包本地jar包
(1)⾸先编辑项⽬的 l ⽂件,默认使⽤的是 spring-boot-maven-plugin 来打包,这个插件会将项⽬所有的依赖打⼊项⽬jar 包⾥⾯。
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
调整为:
<plugins>
<!--指定启动类,将依赖打成外部jar包-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<!-- ⽣成的jar中,不要包含l和pom.properties这两个⽂件 -->
<addMavenDescriptor>false</addMavenDescriptor>
<manifest>
<!-- 是否要把第三⽅jar加⼊到类构建路径 -->
<addClasspath>true</addClasspath>
<!-- 外部依赖jar包的最终位置 -->
<classpathPrefix>lib/</classpathPrefix>
<!-- 项⽬启动类 -->
<mainClass&le.hanggedemo.HanggeDemoApplication</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<!--拷贝依赖到jar外⾯的lib⽬录-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-lib</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>target/lib</outputDirectory>
<excludeTransitive>false</excludeTransitive>
<stripVersion>false</stripVersion>
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
部署时 将 jar包和lib⽂件夹放在同⼀级⽬录,运⾏:java -jar xxxx.jar
转载地址:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论