1

我需要为我的班级制作一个 GUI 应用程序,所以我想确保我可以使用 GUI Builder 转移一个 netbeans 项目(我知道如何在没有它的情况下制作它,但这更耗时,而且我认为没有它看起来会更整洁我猜测坐标等,我习惯了从netbeans到unix的netbeans GUI构建器并编译它。所以这就是我所做的,我创建了一个新的 JFrame 表单(使用 netbeans GUI Builder),名为 StartFrame.java 和另一个名为 MenuFrame.java。(请记住,它在 netbeans 中运行时没有错误) StartFrame 创建一个新的 MenuFrame 实例并在第一次运行时打开它。所以我把它全部转移到了unix系统上。所以起初我尝试编译它,但它当然有错误,说 org.jdesktop... 没有找到。
好的,所以我已经为此搜索了 stackoverflow 和网络。所以我最终从 netbeans 的库中获得了 swing-layout-1.0.4.jar。我对从命令行编译有点陌生,但我把它们都放在同一个文件夹中,而我在那个目录中。我做了

javac StartFrame.java -cp swing-layout-1.0.4.jar

我得到了 NoClassDefFoundException: MenuFrame 的错误,即使它在同一个文件夹中。所以我尝试了

javac StartFrame.java MenuFrame.java -cp swing-layout-1.0.4.jar

它编译得很好,没有错误。那么它创建了 6 个文件 StartFrame.class StartFrame$1.class StartFrame$2.class StartFrame$3.class StartFrame$4.class MenuFrame.class 我试着用它运行它

java -cp swing-layout-1.0.4.jar StartFrame

它有一个 NoClassDefFoundException: StartFrame。我在网上搜索了此问题和堆栈溢出的修复程序,并发现了类似的(虽然不完全)问题,但没有一个解决了它。

4

1 回答 1

1

该文件dist/README.TXT将告诉您如何进行。在命令行键入ant -p以查看可用的命令:ant run通常很好。

附录:

机器没有安装ant

那将是不寻常的,因此您当然应该验证它。您可能需要将当前目录添加到路径中,例如

java -cp .:swing-layout-1.0.4.jar StartFrame
于 2011-07-02T01:45:21.143 回答