Maven打包的时候包含第三方jar包
来源:互联网 发布:网络安全工程师工资 编辑:程序博客网 时间:2024/04/28 18:31
用package打包的时候提示jar包里面的内都发现不了,也就是说识别不了jar包。在网上找了很久,我觉得Maven 项目打包需要注意到的那点事儿挺有用的。
首先我之前引用jar包的时候没有添加dependency,虽然也是可以直接引用,但是使用网上找的那些添加build的配置后打包还是报错,所以build配置之前必须在pom.xml中添加dependency。
<dependency> <groupId>com.company.scm</groupId> <artifactId>escm</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${project.basedir}/suning-sdk-java-standard-20170727.jar</systemPath> </dependency>前三行groupId,artifactId,version其实和新建maven时pom.xml自动生成的是一样的.
scope是指jar的路径,在这里指定为系统范围。具体详解见maven中pom.xml中的scope讲解。
systemPath则是直接jar包的路径,${project.basedir}表示文件所在的目录,也就是pom.xml的父目录,也有直接使用${basedir}的,然后就是指定的jar包。
(如果包含多个jar包,我不确定${basedir}/lib/*.jar的方法行不行,这个只是个人猜测,并不确定)
接下来就是build的配置的,使用shade插件
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>main.Main</mainClass> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.handlers</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.schemas</resource> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build>需要注意的是mainClass这一行,这里写的就入口类,我一开始以为是用到外部jar包的类,耽误了挺久的。
这样使用package就可以打包成功,还会多了一个dependency-reduced-pom.xml的文件。
如果有什么不对的地方欢迎指教。
阅读全文
0 0
- Maven打包的时候包含第三方jar包
- maven项目打包的时候忽略第三方依赖jar包
- 包含第三方JAR包的JAVA程序打包方法
- maven打包找不到第三方jar包的解决办法
- eclipse打包jar时包含第三方jar包的相关问题
- 如何使用Eclipse将包含第三方jar库的java工程打包成jar包
- maven打包--包含dependency的jar包
- maven打包第三方jar
- 包含第三方jar包以及dll文件的Java程序打包
- 利用MAVEN打包可运行jar包,包括依赖的第三方包
- 利用MAVEN打包可运行jar包,包括依赖的第三方包
- 利用MAVEN打包可运行jar包,包括依赖的第三方包
- 利用MAVEN打包可运行jar包,包括依赖的第三方包
- 利用MAVEN打包可运行jar包,包括依赖的第三方包
- Eclipse导出jar包含有第三方的jar包
- JAR打包的误区:第三方包的嵌套打包
- JAR打包的误区:第三方包的嵌套打包
- java 打包可运行的jar,引入第三方包,maven
- 使用密钥验证方式连接Linux服务器
- jquery easyui获取某个dategrid的所有行数据
- Ubuntu的卸载
- 为了完成梦想努力学习,向我的老师致敬--黑客内参
- 多线程查询、修改Mysql表会有冲突吗?
- Maven打包的时候包含第三方jar包
- ESL读书笔记2a:监督学习框架总览(未完待续)
- 《STL源码剖析》中的List
- 旅游项目笔记(一)问题整理
- Calico 的网络结构是什么?- 每天5分钟玩转 Docker 容器技术(68)
- Android百度地图(二):百度地图sdk显示位置点、图层绘制
- 个人C++学习笔记记录(一)
- 计蒜客-易彰彪的一张表
- 在anaconda3中怎么安装软件开发框架,软件库