时将lib放外面"/>
SpringBoot打包时将lib放外面
SpringBoot打包时缺省情况下是生成一个完整的jar。但是这个jar会比较大,一般会有几百兆大小。因为这样把所有用到的其他jar都放进这个jar中了。那有没有办法将其他jar放到jar包外面呢?有的!
只需要在pom文件中加入
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>3.1.1</version><configuration><archive><manifest><addClasspath>true</addClasspath><classpathPrefix>lib/</classpathPrefix><mainClass>com.x.y.z.XyzApplication</mainClass></manifest></archive></configuration>
</plugin>
<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><!--<includeScope>system</includeScope>--></configuration></execution></executions>
</plugin>
如果pom中有下面的plugin,需要去掉
<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals></execution></executions>
</plugin>
这样打完包后,jar就很小,只有几百K,用到的其他jar都放在和这个jar同目录的lib目录下了。当然运行时,也要保持这个目录结构才行。就是要把这个jar和lib目录放到同一个目录下。运行时像下面一样运行即可
java -jar xyz.jar
更多推荐
SpringBoot打包时将lib放外面
发布评论