要点
首先导入依赖
在pom.xml导入依赖
具体解释:而maven的两种方式,前者生成两个文件:程序jar包与复制所需的依赖jar包到lib目录,操作比较繁琐,而且在exe4j中进行打包的话会出现Caused by: java.lang.NoClassDefFoundError这种错误,也就是个别依赖jar包导入错误的情况。 后者打包项目与依赖的所有jar包生成单个jar包,操作简单,且不容易出错。
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.fendo.analysis.AnalysisStart</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
随后打开右方maven,点击m符号。
执行 mvn assembly:assembly或install -Dmaven.test.skip=true
执行成功后会在项目文件的target文件夹下多出一个以-jar-with-dependencies结尾的JAR包. 这个JAR包就包含了项目所依赖的所有JAR的CLASS.
exe4j将jar打包成exe
exe4j的官方下载地址:下载
使用方式:
注意,先注册一下,csdn搜一下如何注册,一定要注册不然打包成exe后打开会有警告
下一步点击next,选择箭头所指,然后next
如下
填写名称,选择32-64bit
点击next
点击下一步
这里需要注意,先点击加号
然后出现下图,选取自己的jar包即可,注意如果是上述maven打包, 执行成功后会在项目文件的target文件夹下多出一个以-jar-with-dependencies结尾的JAR包. 这个JAR包就包含了项目所依赖的所有JAR的CLASS.选完点击确定
第二步选取主类,选择自己的启动类,点击完成
注意选取jdk版本,然后我这边是以jdk17为例,再点击箭头所指
出现下框,点击加号
出现下图,注意把jre提前放入刚开始创建好的文件夹中,会出现如图,然后会以.jre形式出现
后面一直下一步就行,直至新创建的文件夹所出现如此
可能会出现新的问题,装一下新的jdk