使用maven生成可执行jar包(包含依赖)
零零散散找了一些文章,有些感觉好乱,自己整理一下
以下是pom.xml里的配置,本来有很多依赖包,为了不让配置看着很长,我删了一些dependencies中我自己项目中引入的jar包

1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 3 <modelVersion>4.0.0</modelVersion> 4 5 <groupId>com.test</groupId> 6 <artifactId>spdbcraw</artifactId> 7 <packaging>jar</packaging> 8 <version>0.0.1-SNAPSHOT</version> 9 <name>spdbcraw</name> 10 11 <dependencies> 12 <dependency> 13 <groupId>log4j</groupId> 14 <artifactId>log4j</artifactId> 15 <version>1.2.13</version> 16 </dependency> 17 <dependency> 18 <groupId>org.slf4j</groupId> 19 <artifactId>slf4j-api</artifactId> 20 <version>1.7.5</version> 21 </dependency> 22 <dependency> 23 <groupId>org.slf4j</groupId> 24 <artifactId>slf4j-log4j12</artifactId> 25 <version>1.7.5</version> 26 </dependency> 27 </dependencies> 28 29 <build> 30 <plugins> 31 <plugin> 32 <groupId>org.apache.maven.plugins</groupId> 33 <artifactId>maven-jar-plugin</artifactId> 34 <configuration> 35 <archive> 36 <manifest> 37 <addClasspath>true</addClasspath> 38 <classpathPrefix>lib/</classpathPrefix> 39 <mainClass>com.test.xpathutil.Main</mainClass> 40 </manifest> 41 <manifestEntries> 42 <Class-Path>.</Class-Path> 43 </manifestEntries> 44 </archive> 45 </configuration> 46 </plugin> 47 <plugin> 48 <groupId>org.apache.maven.plugins</groupId> 49 <artifactId>maven-dependency-plugin</artifactId> 50 <executions> 51 <execution> 52 <id>copy</id> 53 <phase>install</phase> 54 <goals> 55 <goal>copy-dependencies</goal> 56 </goals> 57 <configuration> 58 <outputDirectory>target/lib</outputDirectory> 59 </configuration> 60 </execution> 61 </executions> 62 </plugin> 63 </plugins> 64 </build> 65 66 </project>
然后clean一下,在install进行打包操作,第一次打包可能会比较久,要下载一些东西
在打包的中途,有可能会出现一些错导致打不上包,建议往jdk版本是否在项目中配置好,或者有其他父依赖的问题这方面思考一下
最后,当打包成功之后,在target文件夹下面复制出jar文件和一个lib文件夹,在电脑上任意一个盘里面新建一个文件夹(名称随意),把lib文件夹和jar包放在新创建的文件夹里面,在windows下dos命令行输入:
java -jar test.jar
即可运行成功!
-----补充-----------------------------------------------------------------------------
另外可能很多人还有一个需求:
maven默认情况下会把src/main/resources下的文件和class文件一起打到jar包内部,但是有很多场景下都需要把resources下的文件打包到jar包外面,这样修改resources目录下的文件就不需要重新打jar
这里也给一个配制方法的地址:http://blog.csdn.net/su1322339466/article/details/52923806
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2015-03-19 css样式让input垂直居中