【发布时间】:2013-10-07 21:29:40
【问题描述】:
如果我通过 netbeans 运行程序,我在主类中有以下代码。但是当我打开 netbeans 制作的 jar 时,似乎除了 new FormTTS().setVisible(true); 之外我没有在 main 中写过任何东西
如果我写
public static void main(String args[])throws Exception {
System.exit(0);
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
JOptionPane.showMessageDialog(null,"1125");
new FormTTS().setVisible(true);
}
});
}
很奇怪,程序只是从netbeans运行退出,但在JAR中却不是这样,如果运行jar,它会打开FormTTS!!!
我不能没有这个,因为我有一些其他代码必须由 exit() 替换并且需要抛出异常(除了 main() 之外,我不能从任何其他函数或按钮执行此操作)
我确保 jar 是通过以下方式更新的: 将退出放在 main 中后,我在 FormTTS 中更改了一些内容;我可以从 JAR 中看到这种变化。
已编辑 我现在做的是;我删除了 main 中的所有代码,但它在 netbeans 中不起作用(显然)但 FormTTS 在 JAR 中打开!!!! 通过删除 JAR、清理构建项目并打开 JAR 来确保 JAR 属于该程序
【问题讨论】:
-
每次进行更改时是否都导出到 JAR?他们有可能不同步吗?
-
是的,我每次都成功@UFL1138
-
要么你的 JAR 不同步,要么它没有设置为运行你认为的类。在该 JAR 中找到 manifest.mf 并与您正在更改的类的名称进行比较。
-
@UFL1138 先生,我通过 Winrar 提取了 JAR。在那里我找到了一个清单。这里是它的内容: Manifest-Version: 1.0 Ant-Version: Apache Ant 1.7.0 Created-By: 1.4.2_16-b05 (Sun Microsystems Inc.) Class-Path: lib/freetts.jar Main-Class: freetts.FreeTTS
-
上面的代码 sn-p 是来自 freetts.FreeTTS 类吗?
标签: java exception netbeans jar main