【问题标题】:Netbeans GUI broken after Maven Transition (How do I change generated code that isn't part of a component?)Maven 转换后 Netbeans GUI 损坏(如何更改不属于组件的生成代码?)
【发布时间】:2016-10-04 18:28:54
【问题描述】:

我正在尝试恢复其他人很久以前编写的几个应用程序。我决定一个好的方法是将所有这些都放在一个好的 SCM 系统中,并将构建样式更改为 maven(用于依赖管理)。我已经成功完成了第一部分,现在我正在进行第二步。

我的问题是我无法编译正在编译的应用程序。

它最初是使用 NetBeans GUI 构建器(使用 Swing)编写的,并使用 ANT(默认 nbproject 构建脚本)构建。我在 NetBeans 中成功地将项目转换为 Maven 项目,但是当我将项目的文档结构更改为使用 Maven 时,结构从 package 更改为 main.java.package。这给我带来了很多编译错误,因为大多数Import java 语句都引用了package 而不是main.java.package。我通过简单的查找和替换操作解决了很多这些问题;但是,由于应用程序的 GUI 部分是使用 netbeans GUI 构建器创建的(生成的代码无法在源代码编辑器中修改,因此我无法修复对 package.classname.class 的引用。

基本上,切换到 Maven 已经编辑了我的包“路径”,但我无法手动更改生成的 GUI 代码,所以我想知道是否有人知道如何做到这一点。下面是两行有问题的生成代码的示例:

>javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(gls_desktop.GLSapp.class).getContext().getActionMap(GLSview.class, this);
>org.jdesktop.application.ResourceMap resourceMap =org.jdesktop.application.Application.getInstance(gls_desktop.GLSapp.class).getContext().getResourceMap(GLSview.class);

问题出在gls_desktop.classname.class 部分。我需要将其更改为main.java.gls_desktop.classname.class,但我无法弄清楚如何做到这一点。 (因为此代码不适用于特定组件,而是应用于整个应用程序。)

如何更改 netbeans 中生成的不属于组件的代码?

【问题讨论】:

    标签: java swing maven user-interface netbeans


    【解决方案1】:

    我希望找到一种“更安全”的方式来编辑生成的代码,这是我发布这个问题的主要原因,但我仍然没有找到在 Netbeans 中更改生成代码的方法。

    我确实最终解决了我的问题,方法是使用 Notepad++ 编辑我的文件,如以下 SO 问题所述:Bypassing Lock on Generated Code in NetBeans 6.5?

    我现在遇到的错误似乎已经解决,但我还看不到任何副作用(因为其他一些错误仍然使我无法成功构建)。

    总结:使用外部文本编辑器,但要小心,因为您可能会破坏 GUI 生成器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-06
      • 2013-06-12
      • 2012-01-15
      • 2021-06-14
      • 2016-03-15
      相关资源
      最近更新 更多