0

我还在 netbeans 论坛上发布了这个问题 - 希望获得最大的曝光率。

我正在使用 NetBeans RELEASE67 和 maven-nbm 插件开发应用程序。我使用 Java WebStart 进行部署。

我的用户混合使用了 java 1.6 和 java 1.5

我的 java 1.5 用户无法使用该软件;在启动时,软件调用 TopComponent.findInstance() 这会导致

java.lang.NoClassDefFoundError: javax/swing/GroupLayout$Group

我可以看到 javax.swing.GroupLayout 对 java 1.6+ 来说是新的,并且很难理解基本的 TopComponent 代码与 java 1.6 是如此相关。

如何让 NetBeans 平台应用程序在 Java 1.5 下运行?

我将尝试倒退到 RELEASE65,希望这能解决问题。有什么建议么?

非常感谢。

4

2 回答 2

0

您是否在部署中包含 swing-layout.jar?您需要它才能在 Java 6 之前的平台上运行。

于 2010-07-07T16:11:13.853 回答
0

对缓慢的反应表示歉意。

我的问题是我在 Java 6 下运行 IDE,而 Matisse 使用仅限 java6 的类 javax.swing.GroupLayout 创建了所有布局。

直到我不得不在少数坚持 Java 1.5 的客户上运行该软件时,我才注意到这个问题

使用以下过程可以轻松解决此问题

  • 在“检查器”窗口中打开 TopComponent
  • 右键单击根节点 (Form TopComponent)。选择“属性窗口”
  • 在属性窗口中有一行关于“布局生成样式”。选择介于
    • 标准 Java 6 代码
    • Swing 布局扩展库
  • 选择后一个选项。
  • 重建
于 2010-08-02T08:29:41.723 回答