记一次maven项目打包成exe文件过程
步骤 (网上很多)
将java代码在idea中打包成可执行的Jar包通过exe4j软件打包成exe文件问题
打包成jar包要么选择IDEA自身打包要么用maven插件打包:使用idea自身打包功能打包后总是报错主类找不到,后面在网上查了后用maven插件打包,但是打好的jar包在cmd中执行时总是提示找不到主属性清单,按照网上的方法改MANIFEST.MF文件也不行,后来在网上找到一段代码,加到pom文件中即可解决该问题,代码如下:<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>2.5.5</version><configuration><archive><manifest><!-- 入口 main 方法所在类 改成自己的类名 --><mainClass>WriteTemplate</mainClass></manifest></archive><!-- 生成的jar包的后缀--><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin></plugins><\build>
第二个问题就是在代码中用了poi来处理excel文件,但是打成的jar包或者直接用jar包打成的exe文件在处理时报错: java.io.IOException: Your InputStream was neither an OLE2 stream, nor an OOXML strprovide the poi-ooxml*.jar in the classpath/modulepath - FileMagic: OOXML, having providers: [org.apache.poi.hssf.usermodel.HSSFWorkbookFactory@1c65642a],该报错显示有两种错误可能,要么是提供的文件格式不对,要么是没有将poi-ooxml等jar包打进去,我在网上找了很长时间没有找到解决方法,最后想着要不自己在打成exe文件的时候将poi相关的几个jar包再打进去,这样就在classpath中有poi包了,说干就干,我尝试了一下,最后真的成功了,但是这种方法还是不能解决jar包会报错的问题,而exe文件可以正常运行,暂时就先这样弄着吧。
如果有朋友知道自己在jar包中解决这个问题,希望可以在评论区或者私聊我教一下。
如果觉得《记一次maven项目打包成exe文件过程》对你有帮助,请点赞、收藏,并留下你的观点哦!