1.前言
通过IDEA的GUI Form功能设置java swing页面,在IDEA中运行是没有问题的。但是将项目打包为jar包,运行jar后,与GUI Form相关的类报错,debug调试发现是页面的.form文件没有和页面的.java文件成功绑定。
2.解决方式
1.显示源码
1.点击IDEA菜单左上角的“File”,选择“Settings”。
2.搜索“GUI”,找到“GUI Designer”选项,将“Generate GUl into”设置为“Java source code”,最后点击“OK”按钮,保存设置。
3.打开与GUI相关的类,发现已经显示源码了,但是代码会有一部分类找不到依赖包。
2.安装依赖
1.打开项目pom.xml,安装依赖包“com.intellij.javac2”,可以直接复制以下代码,直接安装和我一个版本的依赖。
<dependency>
<groupId>com.intellij</groupId>
<artifactId>javac2</artifactId>
<version>7.0.3</version>
</dependency>
或者打开Maven Repository官网com.intellij.javac2搜索,选择合适版本,复制到pom.xml中。
2.成功安装依赖后,源码已经不报错,重新打包后,jar包能够正常运行。
3.总结
1.这个问题虽然很简单,但是我搜索解决办法都是springboot的Bean注入顺序导致页面.form和.java绑定异常。我浪费了很多时间去解决执行顺序问题,甚至我都有点怀疑springboot和java swing没法一起用,最后结果是源码显示和依赖问题。
2.java swing成功打jar包后,大家一定想将jar包转换为exe可执行文件。如果有此想法的小伙伴,可以看下我的文章《exe4j_6.0.1将jar包打包为exe程序详细过程》。