Maven连同关联依赖一起打包成可执行jar
前言
Maven可以使用mvn package指令对项目进行打包生成jar文件,如果直接使用java -jar xxx.jar指令运行jar文件,会出现”no main manifest attribute, in xxx.jar”(没有设置Main-Class)、ClassNotFoundException(找不到依赖包)等错误。
要想jar包能直接通过java -jar xxx.jar运行,需要满足:
1、在jar包中的META-INF/MANIFEST.MF中指定Main-Class,这样才能确定程序的入口在哪里;
2、要能加载到依赖包。
使用Maven有多种打包插件,可以生成满足以上两个条件能直接运行的jar包,这里主要介绍一种,这种方式,可以将仓库依赖以及本地依赖一起打包成一个可执行jar。
一、前提知识
1、使用maven将项目打包成jar,对于非maven项目需要先进行转成maven项目。
在idea中,创建pom.xml文件,然后右键该文件。
2、使用maven添加仓库依赖和添加本地依赖
仓库依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.57</version>
</dependency>
本地依赖:(指定项目jar的路径)
<dependency>
<groupId>lib.zz1</groupId>
<artifactId>zz1pdz</artifactId>
<version>0.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/zz1/zz1pdz.jar</systemPath>
</dependency>
3、对于一些资源配置文件,若想一同打入jar中,可以通过方式;并指定指定maven编译的jdk版本
<build>
<!-- 指定打包资源 -->
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>spd</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
<resource>
<directory>src</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plu

最低0.47元/天 解锁文章
5万+

被折叠的 条评论
为什么被折叠?



