描述清楚需求后,我们就要搬出Maven最强大的打包插件:maven-assembly-plugin。它支持各种打包文件格式,包括zip、tar.gz、tar.bz2等等,通过一个打包描述文件(该例中是src/main/assembly.xml),它能够帮助用户选择具体打包哪些文件集合、依赖、模块、和甚至本地仓库文件,每个项的具体打包路径用户也能自由控制。如下就是对应...
插件名称:maven-assembly-plugin目前最新的版本:3.2.0作用:该插件可以使用户根据自己的需求自定义打包规则和打包类型 pom文件配置示例: 代码语言:javascript 复制 <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>3.2.0</version><configuration><finalName>...
该bug产生的原因如下:工程一般依赖了很多的jar包,而被依赖的jar又会依赖其他的jar包,这样,当工程中依赖到不同的版本的spring时,在使用assembly进行打包时,只能将某一个版本jar包下的spring.schemas文件放入最终打出的jar包里,这就有可能遗漏了一些版本的xsd的本地映射,所以会报错。 所以一般推荐使用另外的一个插件...
插件名称:maven-assembly-plugin 目前最新的版本:3.2.0 作用:该插件可以使用户根据自己的需求自定义打包规则和打包类型 pom文件配置示例: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.2.0</version> <configuration> <finalName>testProject</...
3.添加assembly打包插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <executions> <!-- 配置执行器 --> <execution> <id>make-assembly</id> <phase>package</phase><!-- 绑定到package生命周期阶段上 --> <goals> <goal>single</goal><!-...
assembly:single single操作有很多可配置的参数,详细的请看(http://maven.apache.org/plugins/maven-assembly-plugin/single-mojo.html)。 简单的说,maven-assembly-plugin 就是用来帮助打包用的,比如说打出一个什么类型的包,包里包括哪些内容等等。 目前至少支持以下打包类型: ...
比如bin目录啊、lib目录啊、conf目录啊什么的,于是学习了一下assembly插件,也算是学以至用啦。在Maven工程加入assembly插件很简单,只需在pom.xml文件里加入该插件即可。下面的章节展示一个具体实例。 首先构建一个Maven工程,命令是mvn archetype:create -DgroupId=com.test -DartifactId=project。生成的目录结构如下:...
当你运行 mvn package 命令时,maven-assembly-plugin 将会在 target 目录下创建两个 JAR 文件。一个是常规的 JAR 文件,另一个(其名称通常以 -jar-with-dependencies.jar 结尾)是包含所有依赖项的 JAR 文件。 结果: 你现在拥有一个包含应用程序及其所有依赖项的 JAR 文件,这使得分发和运行应用程序变得非常简单。
2、inherited:true/false,这个plugin是否应用到该POM的孩子POM,默认true; 3、configuration:配置该plugin期望得到的properies,如上面的例子,我们为maven-jar-plugin的Mojo设置了classifier属性;如果你的POM有一个parent,它可以从parent的build/plugins或者pluginManagement集成plugin配置。
maven-shade-plugin : 用来打可执行包(executable jar) maven-assembly-plugin : 支持定制化打包方式 我们日常使用的以maven-assembly-plugin为最多,因为大数据项目中往往有很多shell脚本、SQL脚本、.properties及.xml配置项等,采用assembly插件可以让输出的结构清晰而标准化。