【问题标题】:Finding the Main Class寻找主类
【发布时间】:2013-12-11 06:39:14
【问题描述】:

我的第一个应用程序是用 Netbeans 编写的,带有支持库。构建项目后,文件NetbeansProjects/PDF/dist/PDF.jar运行正常。

我最终尝试构建一个 OSX 应用程序,但认为(?)第一步是将 PDF.jar/lib/*.jar 文件捆绑在一起。

为此,我正在使用 JarSplice,但无法弄清楚如何设置 Main Class。我认为它应该在 manifest.mf 文件中找到,但它似乎不包含任何内容。 JarSplice 请求:

在下面输入您的应用程序主类文件,并附上它可能包含的任何包。 例如:我的package.someotherpackage.MainClass

System.out.println(main.getClassName()); 添加到我的主要方法中会在 Netbeans 的输出窗口中为我提供“PDF”。

谁能告诉我如何找到主类,理想情况下,因为我是个白痴,作为主类输入到 JarSplice 中的具体内容是什么?

【问题讨论】:

  • 什么是'getClassName()'?你是说'getClass().getName()'吗?
  • 我用来确定主类的代码是:StackTraceElement[] stack = Thread.currentThread ().getStackTrace (); StackTraceElement main = stack[stack.length - 1]; String mainClass = main.getClassName (); System.out.println(main.getClassName()); 它到底在做什么我必须承认我不知道,但它输出“PDF”,这是类的名称其中包含主要方法

标签: java mainclass


【解决方案1】:

这取决于您在开发时是否放置了主类。 尝试包含你的主要方法的类名,如果你把你的主要方法放在 Test.java 然后放;Test

如果您的主类嵌套在一个包中,则放入类似 org.package.Test 的内容

导出 .jar 后,打开 Manifest 文件并在 Main-Class 旁边:应该有主类,只需复制和粘贴

【讨论】:

  • 清单文件仅包含“X-COMMENT:Main-Class 将由构建自动添加”但是,您的第一句话包含答案....它只是“PDF”。所以我觉得很傻……
猜你喜欢
  • 2012-08-09
  • 2013-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多