Maven Assembly Plugin 和 Shade Plugin 都可以用来在构建单一 Jar 包时,将所有 Dependency 打入这个最终生成的 Jar 中去。但是两者在具体的行为上有所不同:Assembly 插件不仅会将 Dependency 中的 Class 文件打入最终的 Jar 包,还会将 Dependency 中的资源文件,诸如 properties 文件打入最终的 Jar 包。当项目和其 Dependency 中有同名的资源文件是,就会发生冲突,项目中的同名文件便不会加入到最终的 Jar 包中。如果这个文件是一个关键的配置文件,便会导致问题。而 Shade Plugin 不存在这样的问题。
下面列出 Assembly 和 Shade Plugin 的使用方法:
Assembly:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>your.main.class</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-my-jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
Shade:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.7.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.alcatel.ias.im.msrp.io.Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
分享到:
相关推荐
JSONObject对象相关的jar包依赖,一共有6个;还有maven环境下管理的jar包
maven打包 maven打jar包详细步骤
Maven-assembly-plugin是maven中针对打包任务而提供的标准插件,可以实现自定义打包。主要提供如下功能: ● 提供一个把工程依赖元素、模块、网站文档等其他文件存放到单个归档文件里。 ● 打包成指定格式分发包,...
maven-assembly-plugin 插件打第三方依赖包进 jar,spring 有 org.springframework.beans.factory.parsing.BeanDefinitionParsingException 异常怎么办? maven-shade-plugin 插件打第三方依赖包,spring 有 java....
Springboot 打Jar包,Maven完美解决本地Jar包自动打入Springboot Jar包中
maven打包,指定入口类的jar包,具体的pom配置为: <groupId>org.apache.maven.plugins <artifactId>maven-shade-plugin <version>3.1.0 <phase>package <goal>shade implementation="org....
当前pom.xml中详细的记录了将maven项目打成可运行jar包的完整代码,使用maven的插件maven-assembly-plugin,同时将所有依赖打到jar包中,亲测可用。
批量导入maven本地jar包
NULL 博文链接:https://byx5185.iteye.com/blog/739822
借此项目,可将下载的maven的jar包按指定格式修改后,maven批量导入第三方jar包至maven本地库,实现快速的maven自动导入maven本地库(建议需要导入的jar包较多时使用)
一键删除maven本地仓库中下载错误的jar包资源(以lastUpdated结尾的文档)
有些时候,当我们需要在自己的maven工程中添加一个确定的jar而发现Maven中央仓库不存在时,但是我们自己手上有这些需要的jar包,那么我们可以自给自足,把这个jar包添加到我们的自己的maven仓库中,这样方便在maven...
比较常用的Jar包,maven比较常用的Jar包不用从中央仓库下载。节省时间
批量上传 jar包到maven 私服 自动生成dependency ,不用到私服搜索 核心代码用python编写
达梦数7据库j驱动包及方言包,maven依赖jar包,DM达梦数据库jdbc-jar包dialect方言jar包
2017年12月所有最新版本,SSM jar包 和maven文件,以及3个配置文件 已经过测试哦.......maven 什么的 都可以用
2) 进入jar文件所在目录,右键该目录空白处选择“在此处打开命令窗口” 3) 输入maven命令,列表出本目录(不对子目录进行处理)所有的jar文件 4) 输入对应的序号来选择文件 5) 确认您选择的文件,因大意选错时可按r...
java运行依赖jar包
刚学习Java的时候找jar包有点繁琐,后来才知道可以用maven直接导入,现在把maven中常用的jar包库上传,方便初学者。加油(ง •_•)ง
手动导jar包到Maven本地仓库!当Maven镜像里没有该jar包时需要自己去网上下载,手动导入到Maven仓库!