maven 打包可执行jar的两种方法
1.修改pom.xml增加如下内容
<build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>com.jimson.hellojava.main</mainClass> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> </manifest> </archive> <classesDirectory> </classesDirectory> </configuration> </plugin> </plugins> </pluginManagement> </build>
运行mvn clean package即可;
2. maven中把依赖的JAR包一起打包
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>com.jimson.hellojava.main</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> </plugins> </build>
要将依赖包一起打包的话,需要使用maven-assembly-plugin插件。需要注意的是,使用此插件进行打包时,不再是使用mvn package 命令,而是使用 mvn assembly:assembly命令。
执行成功后会在target文件夹下多出一个以-jar-with-dependencies结尾的jar包。这个jar包中就包含了当前项目的所有依赖包,可以独立执行。