当我们使用springboot构建应用时,需要将文件打包好,然后使用命令启动某个jar包中的类作为主类来运行应用程序,这时候有个方便的打包插件,将应用程序需要的配置文件,启动脚本,依赖的jar包都处理好。是一件goods的事情。
当在改造以前学习springboot的项目中,遇到了一些问题,具体git地址如上。相关结构如下:
在pom.xml中加入assembly相关配置,指定resource目录,与需要排除的文件
配置完成后,一个简单的打包插件就好了。使用mvn package就能打包。
以下解析下assembly.xml中的相关配置
maven assembly 插件官网 http://maven.apache.org/plugins/maven-assembly-plugin/
what is assembly?
an "assembly"是由一组文件,目录,依赖文件构成的一个归档文件。
assembly中包含如下主要节点
assembly{
formats:{format:归档文件的格式,一般为tar.gz},
fileSets:{
fileSet:{directory:需要打包的目录,outputDirectory:打包后的输出目录,directoryMode:文件夹的访问权限,fileMode:文件的访问权限},
fileSet:{}...
},//end fileSets
dependencySets:{
denpencySet:{userProjectArtifact:true 当前构建是否包含到这个依赖集合中,outputDirectory:依赖文件的输出路径,默认将scope为runtime的整合过来,directoryMode:,scope:指定scope范围,默认runtime}
}
}
可以参考xsd文件查看有哪些配置节点 :http://maven.apache.org/xsd/assembly-2.0.0.xsd