用maven来构建过jar文件的朋友可能知道,默认情况下,maven因为不会给我们添加我们项目中需要的依赖,以及不会在MANIFEST.MF文件中添加Main-Class这一条目,造成我们构建完成的jar文件不能通过java -jar命令而直接执行,必须通过java -cp命令,指定类路径来执行.这无疑是非常麻烦的.
Google了之后,找到了解决问题的方案.在pom.xml文件中,添加下面的snippet:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<build> <plugins> <!-- any other plugins --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.5.0</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>org.longsheng.noobchain.NoobChain</mainClass> </manifest> </archive> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build> |
把上面的snippet中的mainClass替换成你自己的主类的路径.
然后,就可以通过java -jar命令来执行构建好的jar文件了.
作者:AlstonWilliams
链接:https://www.jianshu.com/p/868889e32bd6
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。