【问题标题】:"Runnable Jar" SWT elements dont work“Runnable Jar” SWT 元素不起作用
【发布时间】:2011-11-06 21:05:23
【问题描述】:

我在部署带有 SWT 组件的应用程序时遇到问题。

我阅读了SO link 并将 SWT 与 swing 合并到我的代码中。
当我在 Eclipse 3.7.1 Indigo 中运行它时(Ctrl+F11Alt + Shift X J)。 它在 Eclipse 中完美运行。

但是,当我将文件导出为“可运行 JAR”时:
应用程序本身运行良好,但 SWT 文件选择器不能。

当我将文件导出为 JAR 时,即根据以下内容添加清单:wiki eclipse link + SO link + SO link + SO link 并且我收到故障排除部分(eclipse wiki)中列出的错误。 我检查了那里列出的所有解决方案,但它们对我不起作用。

问题:

  1. 为什么 SWT 文件选择器在 Eclipse 中工作,而不是在“可运行 罐子”?
  2. 为什么eclipse中的“runnable jar”导出向导,不是 自动合并 SWT?
  3. 为什么当swt.jar被正确命名并且在运行时文件夹中并且主类正确时,导出为jar不能与清单一起使用,但它仍然给出错误?:
    Could not find the main class. Program will exit.

我假设最简单的解决方案是使用 Swing 文件选择器。但我想知道如何让 SWT 应用程序在 eclipse 之外运行。

问候

更新: 结果表明,所有.jar 文件(在库构建路径中)都需要添加到清单中。我只是添加了swt.jar,这就是我收到Could not find main class... 错误的原因。将另一个 .jar 添加到清单中解决了上面的 Q3。

从命令行运行时:SWT 组件在导出 jar + 可运行 jar 时工作正常。

但是,当尝试通过双击运行可运行 jar 时,SWT 组件不起作用。 Q1 和 Q2 仍未解决(双击时 SWT 文件选择器不起作用,但在 cmd java -jar... 中起作用)。

【问题讨论】:

  • 所需的库在哪里?你的java.library.path 是什么?
  • 在我的构建路径(库)中,我有一个 swt.jar(我使用 Add External Jars 添加了它)。我还有一个 JRE 系统库 [jre6]。
  • 谢谢,进一步检查构建路径库有助于解决 Q3。类路径已修复 (blogs.oracle.com/olaf/entry/jdev_including_a_classpath_in) 问题已更新。

标签: java swing swt


【解决方案1】:

已解决 第一季度,第二季度java can run jar from cmd but not by double clicking

有趣的是,更新到 jre 7u1 也解决了我的问题。 从http://www.oracle.com/technetwork/java/javase/downloads/jre-7u1-download-513652.html下载。

第三季度清单:

清单版本:1.0

Class-Path: swt.jar example.jar(在空格后面加其他的.jar文件,其他的jar我忘记了)

主类:mypackage.MyClassWithMainMethod

(文件末尾的空白行)

感谢您的帮助

进一步说明:您可以在导出为“jar”时手动创建清单。导出为“runnable jar”时不需要手动操作。

【讨论】:

  • +1 进行跟进。这个utility 可以方便地检查清单是否已构建。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-14
  • 1970-01-01
  • 2013-03-16
  • 2014-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多