Spring boot打包打包jar分离分离lib和和resources方法实例方法实例
主要介绍了Spring boot打包jar分离lib和resources方法实例,文中通过示例代码介绍的非常详细,对大家的学习或
者工作具有一定的参考学习价值,需要的朋友可以参考下
为什么要配置、依赖文件分离:为什么要配置、依赖文件分离:
1.在传统jar包中,所有文件都打包到一个jar包中,jar非常臃肿,在进行服务更新部署时非常不便,而且传输不稳定时导致传
输失败。如果过实行文件分离、在依赖不改变的情况下,仅仅上传更新后的 编译文件是非常方便的。
如果要修改一些配置文件:properties、xml,静态文件等可以直接在服务器上编辑。
那么怎么实行配置、依赖文件分离呢?那么怎么实行配置、依赖文件分离呢?
插件介绍
maven-jar-plugin 这个插件式专门用来打包用的,可以配置需要打包进去的文件,程序的入口类等。
maven-resources-plugin 这个插件是用来拷贝资源文件的。
maven-maven-dependency-plugin 这个插件是用来拷贝依赖库的。
maven-assembly-plugin 可以说包含了以上插件的功能,但是可以做到更精细的控制。
spring-boot-maven-plugin 这个不用说,springboot 项目最重要的插件,整个项目的打包处理过程还是要依附于它。
打包成可执行jar,不仅仅局限SpringBoot项目(主入口函数存在)
maven-jar-plugin 插件打包jar
在pom文件中配置,但是这样 依赖的jar并不会打进来(后面会有解决方法),适用不需要依赖文件的项目。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3</version>
<configuration>
<archive>
<manifest>
<!--是否添加依赖-->
<addClasspath>true</addClasspath>
<!--设置启动类-->
<mainClass>xxx.xxx.Main</mainClass>
</manifest>
</archive>
<!--设置生成jar输出位置-->
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</plugin>
maven-assembly-plugin 插件打包jar
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<!--不添加AssemblyId-->
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<!--配置打包的时候一并打包依赖jar-->
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<!--入口类-->
<mainClass>xxx.xxx.Main</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<!--绑定生命周期-->
<phase>package</phase>
评论0