【问题标题】:JSmooth EXE CompileJSmooth EXE编译
【发布时间】:2012-01-27 04:24:15
【问题描述】:

我正在用 JSmooth 创建一个 exe。它构建良好,但随后显示“找不到主类:MyProgram。程序将退出”。 .jar 文件运行良好。这是它的清单文件(末尾有一个新行):

Mainifest-Version: 1.0
Main-Class: MyProgram

在 JSmooth 我有:

  • 将骨架设置为 Windowed Wrapper
  • 可执行二进制文件是“MyProgram.exe”
  • 主类字段是“MyProgram”
  • 然后我将 MyProgram.jar 文件包含到 JSmooth 的“Classpath”部分中。

我有什么遗漏吗?我在 Java 中的主要课程是:

public class MyProgram extends JPanel implements ActionListener, 
PropertyChangeListener {

这就是我构建 .jar 的方式:

jar cmf mainClass MyProgram.jar *.class

我的清单文件是“mainClass”,它包含我首先放在上面的内容。

谢谢。

【问题讨论】:

  • 您是否考虑过使用Java Web Start 来部署这个基于Swing 的桌面应用程序。? JWS 不仅提供 x-plat 安装,还提供更多获得帮助的机会(从 JWS 的 14 个关注者与 JSmooth 的 0 个关注者来看)。

标签: java compilation exe jsmooth


【解决方案1】:

MyProgram 在什么包中?从我在清单中看到的内容来看,它看起来像是在默认包中。也许 JSmooth 不处理?

【讨论】:

  • 不要成为菜鸟,但我应该怎么做呢?我的清单中需要更改哪些内容?
  • 您需要在源文件中添加一个 package 语句作为第一行。例如包 foo;然后,您需要在源目录下创建一个名为“foo”的子文件夹(它必须与包名完全匹配),并将源文件移动到那里,进行干净的构建。然后将清单更改为 foo.MyProgram。如果您使用 Netbeans(例如),它会通过简单的重构为您完成所有这些工作。如果您使用基本的 Java 应用程序项目,它也会为您构建可执行的 jar 文件。
猜你喜欢
  • 2015-02-01
  • 1970-01-01
  • 2023-03-29
  • 2016-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-24
  • 2016-04-02
相关资源
最近更新 更多