将工作程序转换为可执行Jars的问题

时间:2012-10-09 10:31:13

标签: jar manifest

当我将(工作)java转换为可执行jar文件时,我遇到了问题。

我编写了一个非常简单的数字排序程序。它分布在两个文件(TreeGui.java和SortTree.java)中,每个文件都或多或少地表达了它们的内容。 TreeGui有一个输入textarea,一个按钮和一个输出区域。按下按钮将输入文本传递给SortTree,它返回出现在输出框中的排序良好的数字。

当我编译每个文件,然后运行TreeGui时,一切正常

javac TreeGui.java
javac SortTree.java
java TreeGui

......把一切都搞定了。

现在,当我尝试将这些类放入jar文件时,我不断遇到同样的问题。我有一个清单(TreeGuiManifest.txt),其中包含以下内容(以及一个空白的新行):

Main-Class: TreeGui

但是当我把所有的东西放在一起时:

jar cmf TreeGuiManifest.txt TreeGui.jar TreeGui.class SortTree.class

我遇到了问题。无论我是通过选择jar文件直接运行它还是在控制台中使用“java -jar TreeGui.jar”,程序都会正常加载,但是按下按钮它会抛出一个完整的字符串,就像这样开始并继续很长的路要走:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: SortTree TreeNode  
    at SortTree.treeInsert(SortTree.java:35)
    at SortTree.main(SortTree.java:24)
    at TreeGui.actionPerformed(TreeGui.java:66)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

等。等等 显然很难在SortTree代码中找到按TreeGui中的按钮要求的元素,但我不知道我能做些什么来使它工作。

我错过了一些非常明显的东西吗?我正在使用各种导入的java.utils。*;等,当我制作我的jar文件时,我是否必须提及它们?谢谢你的帮助。

(我没有在这里粘贴程序的实际代码的唯一原因是当它一个Jar文件时它完全正常工作......如果有必要,我会很乐意添加它们)

0 个答案:

没有答案