Maven 打包-添加第三方包、依赖包 mvn clean package
首先看看工程目录结构
如图 (ReadLogByThread 为 MainClass):
方法一: mvn clean assembly:assembly
下面是 pom.xml 内容:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example.test</groupId><packaging>jar</packaging><version>1.0-SNAPSHOT</version><name>testkafka</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!-- 在这里定义你的入口类 --><mainClass>ReadLogByThread</mainClass></properties><artifactId>${mainClass}</artifactId><dependencies><!-- 在这里添加你的依赖 --><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>0.10.0.1</version></dependency></dependencies><build><plugins><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><archive><manifest><!-- 你也可以在这里自己写MainClass --><mainClass>${groupId}.${mainClass}</mainClass></manifest></archive><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration></plugin></plugins></build>
</project>
在项目的目录下执行 mvn clean assembly:assembly
然后会在项目下生成 target 文件夹,并有两个jar包,一个包含依赖,一个不包含
方法二: mvn clean package (assembly方式)
下面是 pom.xml 内容:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example.test</groupId><packaging>jar</packaging><version>1.0-SNAPSHOT</version><name>testkafka</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><mainClass>ReadLogByThread</mainClass></properties><!-- 在这里定义你的入口类 --><artifactId>${mainClass}</artifactId><dependencies><!-- 在这里添加你的依赖 --><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>0.10.0.1</version></dependency></dependencies><build><plugins><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><archive><manifest><mainClass>${groupId}.${mainClass}</mainClass></manifest></archive><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>assembly</goal></goals></execution></executions></plugin></plugins></build>
</project>
在项目的目录下执行 mvn clean package
然后会在项目下生成 target 文件夹,并有两个jar包,一个包含依赖,一个不包含
方法三: mvn clean package (shade方式)
下面是 pom.xml 内容:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example.test</groupId><packaging>jar</packaging><version>1.0-SNAPSHOT</version><name>testkafka</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><mainClass>ReadLogByThread</mainClass></properties><!-- 在这里定义你的入口类 --><artifactId>${mainClass}</artifactId><dependencies><!-- 在这里添加你的依赖 --><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>0.10.0.1</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><executions><!-- Run shade goal on package phase --><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><filters><filter><!-- Do not copy the signatures in the META-INF folder.Otherwise, this might cause SecurityExceptions when using the JAR. --><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>${groupId}.${mainClass}</mainClass></transformer></transformers><createDependencyReducedPom>false</createDependencyReducedPom></configuration></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>
</project>
在项目的目录下执行 mvn clean package
然后会在项目下生成 target 文件夹,并有两个jar包,一个包含依赖,一个不包含
方法四: mvn clean package (shade方式)
注:推荐该方法,可以过滤签名文件,防止报一些莫名其妙的错误
下面是 pom.xml 内容:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example.test</groupId><packaging>jar</packaging><version>1.0-SNAPSHOT</version><name>testkafka</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><mainClass>ReadLogByThread</mainClass></properties><!-- 在这里定义你的入口类 --><artifactId>${mainClass}</artifactId><dependencies><!-- 在这里添加你的依赖 --><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>0.10.0.1</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><executions><!-- Run shade goal on package phase --><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><filters><filter><!-- Do not copy the signatures in the META-INF folder.Otherwise, this might cause SecurityExceptions when using the JAR. --><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>${groupId}.${mainClass}</mainClass></transformer></transformers><createDependencyReducedPom>false</createDependencyReducedPom></configuration></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>
</project>
在项目的目录下执行 mvn clean package
然后会在项目下生成 target 文件夹,并有两个jar包,一个包含依赖,一个不包含
方法五: mvn clean package (copy方式)
下面是 pom.xml 内容:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example.test</groupId><packaging>jar</packaging><version>1.0-SNAPSHOT</version><name>testkafka</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><mainClass>ReadLogByThread</mainClass></properties><!-- 在这里定义你的入口类 --><artifactId>${mainClass}</artifactId><dependencies><!-- 在这里添加你的依赖 --><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>0.10.0.1</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><configuration><archive><manifest><addClasspath>true</addClasspath><classpathPrefix>lib/</classpathPrefix><mainClass>${groupId}.${mainClass}</mainClass></manifest></archive></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><executions><execution><id>copy</id><phase>package</phase><goals><goal>copy-dependencies</goal></goals><configuration><outputDirectory>${project.build.directory}/lib</outputDirectory></configuration></execution></executions></plugin></plugins></build>
</project>
在项目的目录下执行 mvn clean package
然后会在项目下生成 target 文件夹,并有一个不包含依赖包的jar,和一个lib文件夹
注:两个在同一个目录才能运行
方法六: Intellij idea 手动打包
注:不建议该方法
我的 Intellij idea 为 2016.2 版,操作如下:
- 点击 File -> Project Structure
- 点击 左侧 Artifacts -> 绿色加号 -> JAR -> From modules with dependecies…
- 选择你的 MainClass 和 Direcory for META-INF/MANIFEST.MF:,然后点击 OK
注:MANIFEST.MF 位置选 所在项目的根目录
- 勾选 Build on Make,然后 OK 或者 Apply 就行。
当你每次 Build -> Make Project 的时候,就会在项目根目录下生成 out 文件夹, out/artifacts/**_jar/ 下为包含依赖的jar包
原文地址:https://blog.csdn.net/jiecxy/article/details/52458061
Maven 打包-添加第三方包、依赖包 mvn clean package相关推荐
- maven手动添加第三方的jar包
添加原因:当我们在使用maven创建工程时,往往在maven的库中的包不能满足我们的需求,这时需要我们手动添加第三方包到本地库中. 操作步骤: 1.首先在dos命令(或者linux下的终端)找 ...
- maven 加入第三方库_maven 手动添加第三方的jar包
maven项目手动引入第三方jar包项目打包 项目有时候需要依赖第三方jar包,一般会去maven仓库寻找坐标,但有时候maven仓库并没有提供,我们需要手动下载jar包并导入项目. maven库中并 ...
- Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包...
一,实例:新建了一个Maven项目,在eclipse中通过 build path –> configure path-.将依赖包添加到工程中后,eclipse不报错了.但是用Maven命令 mv ...
- Maven 打包成第三方jar包且把pom依赖包打入进来的方法
<Maven 打包成第三方jar包且把pom依赖包打入进来的方法> 提示: 本材料只做个人学习参考,不作为系统的学习流程,请注意识别!!! <Maven 打包成第三方jar包且把po ...
- 【Maven学习】Maven打包生成包含所有依赖的jar包
http://blog.csdn.net/u013177446/article/details/54134583 ******************************************* ...
- maven打包可执行的jar包-包含依赖jar
maven打包可执行的jar包: 1. 首先确保编辑器里maven环境正常 2. 运行打包的jar文件 3. 测试添加依赖后打包. 4. Unable to access jarfile test-m ...
- maven打包--同时将仓库依赖和本地依赖的jar包也打进去
目录 maven添加依赖 maven添加本地依赖 项目打包 maven打包 将依赖包一同打进去 将本地依赖包也一同打包 可能出现的问题 依赖包不与项目代码一同编译 maven添加依赖 首先,如何在ma ...
- maven打包忽略注解_java lombok包在maven已经配置,但是注解没用
如果你是用eclipse作为开发环境,配置了maven依赖以后,还需要在eclipse/myeclipse中手动安装lombok. 其实就是加一个jar包,添加2行代码 1. 将 lombok.jar ...
- maven明明本地仓库有依赖包,还会远程下载的问题
我今天在无网的环境下,打算进行maven编译打包,可是明明有本地仓库,也配置了本地仓库,但是还是会从远程下载 然后再各大网友的帮助下(百度,谷歌),查询到主要的原因是在本地仓库的每个依赖包都存在_re ...
- springboot使用maven打包无法打进本地包解决方法
springboot使用maven打包无法打进本地包解决方法 参考文章: (1)springboot使用maven打包无法打进本地包解决方法 (2)https://www.cnblogs.com/vi ...
最新文章
- ECCV 2020 | 首届GigaVision挑战赛揭榜,双赛道冠军技术干货分享
- mysql 5.7_MySQL 5.7新特性介绍
- 安装bigsur卡在12分钟_Big Sur为什么安装不了?macOS Big Sur无法完成安装的解决办法!...
- 【网络流】Modular Production Line
- SAP Spartacus使用到的技术栈
- 监督学习与无监督学习的区别_机器学习
- mongoDB 小练习
- python绘制条形图例题_python matplotlib库绘制条形图练习题
- MySQL索引背后的数据结构及算法原理(employees实例)
- 网上购物系统(Task100)——业务逻辑层BLL(面向接口的编程模式)
- COGS 2507. 零食店
- 【积跬步以至千里】唧唧Down下载视频无法正常合并分段文件解决方案
- jenkins下载插件慢解决方式
- Retrofit源码分析
- 【喜讯】PerfMa再获高瓴创投领投1.5亿A++轮融资
- 2020年DDCTF-web签到题题解
- 字符画——ASCII art
- 论文笔记 Dependent Gaussian Processes 相关高斯过程
- 零基础学习微信小程序(7):组件
- 微信小程序使用高德SDK获取天气
热门文章
- [转载]8种防盗链的方法
- 【AI应用】NVIDIA Tesla T4的详情参数
- 我的十年 Oracle DBA 奋斗路 - 回首向来萧瑟处,也无风雨也无晴
- 几种平均数的物理意义应用场景
- Docker学习中文文档大全、dockerdocker-compose实战
- python求两数最小公倍数_Python自定义函数实现求两个数最大公约数、最小公倍数示例...
- java使用itext导出pdf,图片、表格、背景图
- 算术-几何平均值不等式的常见证明
- 微信小程序静态页面的实现
- python蜂鸣器_Python与硬件学习笔记:蜂鸣器(转)