maven build打包java项目为可运行的jar包

时间:2021-11-15 12:19:26

上个星期帮女朋友做一个考勤统计的小项目,用的是java的swing。做是做完了,但是想像其它的软件一样双击就可以运行它,这就要用maven打成可运行的jar包,这可是个问题呀?还好只用了一天就搞定了,但是觉得有点蛋疼,所以想它记录下来,以免下次会用到,好了,废话不多说了。当然你的eclipse里面要装有maven插件,没装的话去百度一下很简单。

第一步:先在pom.xml文件里加上如下配置

<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.Main</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
Main是你的项目的程序入口的类名,com是该类所在的包名

第二步:在Debug Configurations里建一个Maven Build,如图所示。maven build打包java项目为可运行的jar包

在Goals:里面填上compile assembly:single,一开始我填的是clean compile assembly:single,就是在这里浪费了我好多时间。如果加上clean的话maven build出来的jar包里面会没有项目的所有.class文件,所以我之前加上clean打出来的jar运行它会提示:找不到或无法加载主类。因为Main.class确实没在jar包里面。还有要确保你的项目的target目录下的classes文件夹下面有class文件,如果没有class文件可以在项目右键src-->build path--> remove from buil path,然后再次右键src-->build path-->use as source folder。

第三步:点击Debug,就会在项目的target目录下生成一个xxx-jar-with-dependencies.jar的jar文件,双击运行即可,如果双击没反应的话,去注册表设置一下就行了参考这里点击打开链接,就在原来的值里面加上 "-jar",不需要双引号。