起因
最近整理一下以前写的swing项目,结果发现跑不起来了,具体表现为与视图表绑定的Java类的各属性为NULL(插件没有初始化绑定的类对象),导致项目无法启动。(报空指针异常)
问题排查
首先查看一下Idea相关设置(Editor -> GUI Designer)
发现我的设置是把初始化相关信息修改到字节码文件里(Binary class files 被勾选)
于是用Idea查看了一下编译后的class文件反编译得到的代码,发现并没有变化,源代码文件也没有被修改,说明插件并没有帮我生成相关代码,,
这让我很是疑惑,因为我依旧能够使用 UI Designer插件进行设计/预览,插件确实没有失效。
我只好继续在大佬们的技术博客,但得到的结果基本都是打包相关的问题以及插件未启用/莫名失效问题;这时我意识到,这既然是Idea 插件,那么就应该是在 Idea 构建项目时增强源码/字节码,会不会有其他的什么东西完全取代(托管)了 Idea 这方面工作。。。。。这让我想到了之前勾选的某栏选项:Delgate IDE build/run actions to Maven
就在Maven -> Runner 设置中(在setting里搜索)
取消勾选后,问题果然消失了。
解决问题
不要让 Maven 托管项目构建/运行
文件 -> 设置 -> Maven -> Runner,取消托管选项