如果不创建插件,则无法在 eclipse 中使用 JFace 和 SWT

2024-04-20

免责声明:

这是 .NET GUI 试图解决 JAVA 问题的典型案例。

问题描述:

我正在尝试使用 JFace 和 SWT 构建一个非常简单的 GUI - 代码很简单(有很多教程),但不那么简单的是我似乎无法让 JFace 和 SWT 在插件项目之外工作。

我希望能够在我的项目中毫无麻烦地使用 JFace 和 SWT,因为我将“C:/eclipse 3.5/plugins”放在我的 CLASSPATH 中(来自我的计算机 --> 属性 --> 高级 --> 环境变量)以及我可以在我的路径(当然包括本地用户路径和全局路径)中找到的所有 swt-*.dll本文 http://www.ibm.com/developerworks/opensource/library/os-jface1/在“安装 SWT 和 JFace”框中指示。

问题是我无法从 eclipse.org 导入任何内容,除非我直接引用 buildpath --> 库 --> 添加外部 jar 中的 jar(为了构建它,我必须添加以下 jar:org.eclipse.swt.win32.win32.x86_3.5.1.v3555a.jar, org.eclipse.jface_3.5.1.M20090826-0800.jar)。一旦我这样做了,它就构建得很好,但是当我将它作为“Java应用程序”运行时,我收到以下错误(我应该RUN AS还有别的吗?):

Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IProgressMonitor
    at demo.ui.test.EntryPoint.main(EntryPoint.java:18)
Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.IProgressMonitor
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    ... 1 more

我尝试调试这个,基本上它在尝试实例化时就会抛出ApplicationWindow类(org.eclipse.jface.window.ApplicationWindow)。尝试重现该错误,我注释掉了所有代码,并将其替换为我的 main 中的以下代码,它在第一行抛出了与上面相同的错误:

ApplicationWindow w = new ApplicationWindow(null); //<-- error on this line
w.setBlockOnOpen(true);
w.open();
Display.getCurrent().dispose();

问题:

问题1:我怎样才能修复上面的错误(我想了解发生了什么)并让该死的东西运行?

问题2:为什么这些罐子对我的项目不可见以及如何制作它们?

由于我对 Java 和 Eclipse 不熟悉,我可能错过了一些非常琐碎的事情。非常感谢任何帮助!

EDIT: 好像有人也遇到同样的问题 -->http://www.eclipsezone.com/eclipse/forums/t60528.html http://www.eclipsezone.com/eclipse/forums/t60528.html- 不太清楚他们是如何解决的,感谢帮助


IProgressMonitor您使用的这两个罐子中不提供接口。你还需要把org.eclipse.equinox.common类路径上的插件。IProgressMonitor无需运行整个eclipse环境即可使用。

(这是您引用的文章中的解决方案。我最初认为 IProgressMonitor 位于 org.eclipse.core.runtime 插件中,但它已移至 org.eclipse.equinox.common,如中所述错误#122935 https://bugs.eclipse.org/bugs/show_bug.cgi?id=122935)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果不创建插件,则无法在 eclipse 中使用 JFace 和 SWT 的相关文章

随机推荐

  • 带指针的数组长度

    C 中如何仅使用指针获取数组长度 我知道选项卡名称是指向第一个元素的指针 但下一步是什么 你不能做到 您需要将数组长度与数组指针一起传递 或者需要使用容器对象 例如std vector
  • System.getenv 没有获取 ~/.bash_profile 中定义的变量

    这是文件 bash profile 中的一行 export MESSAGE Hello World 我想访问系统变量MESSAGE在Java中 System getenv MESSAGE 不起作用 bash profile 文件仅源自登录
  • ASP.NET Identity,持久性 cookie - 是内置的类似的东西吗?

    我们正在使用Cookie身份验证提供者并希望实施 记住账号 我们的应用程序中的功能将像这样工作 无论是否 记住账号 复选框是否被选中 令牌过期时间应始终设置为 30 分钟 SlidingExpiration 打开 如果用户没有选中 记住我
  • Spring Security 页面无法在 Chrome 上的 Iframe 中打开

    我正在使用 Spring Boot Spring Security 和 jdk 1 8 当我尝试在 Chrome 上的 iframe 中打开任何安全的 Thymleaf 页面时 它每次都会将我重定向到登录页面 它在 Firefox 和 IE
  • 是否有一个 jQuery 选择器/方法来查找 n 级的特定父元素?

    考虑以下 HTML 如果我有对 元素的 JSON 引用 那么在这两种情况下如何获取对外部 元素的引用 table tr td td tr table
  • 使用 IIS 6 进行 Web 部署时出现问题

    我已经尝试使用 Visual Studio 2010 中的 Web 部署选项发布到安装了 Windows Server 2003 的 IIS 6 服务器很长时间了 我已在服务器上安装了 Web 部署代理 启动了服务并遵循此链接中的所有说明
  • 为什么 CSS 中的背景:url 不适用于 Django?

    我的导航栏有以下 CSS 代码 footer navigation background 1841c8 url images nav background gif height 40px padding 0 0 0 20px 但是 当我启动
  • 一个域上的 ProxyPass 和 DocumentRoot

    假设我有以下配置
  • 如何在 Objective-C (iPhone) 中连接字符串? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在 Objective C 中连接字符串 https stackoverflow com questions 510269 how do i concatenate strings in obje
  • Pycharm:遇到调试点时如何专注于编辑器

    我使用的是mac Pycharm版本为2018 2 4社区版 当我使用调试器运行调试会话并命中调试点时 我必须使用鼠标单击编辑器才能在编辑器上键入代码 如果我不这样做并直接敲击键盘 Mac 会发出一些 bing 声 表明键盘输入对任何应用程
  • SignalR:连接建立时服务器如何正确订阅组

    我已经查看了几个地方 但仍然找不到关于如何使用组的明确说明 我正在使用组进行过滤 仅将消息传递给客户端子集 我想将客户端加入服务器端的组OnConnected事件 客户端不需要知道它属于哪个组 问题 我是否也应该覆盖OnReconnecte
  • Firebase google-services.json 文件

    我对 Firebase google services json 文件有疑问 每次我添加或更改某些内容时 例如 如果我添加新的 SHA1 指纹 是否需要再次下载该文件并将其放在 Android 项目的应用程序文件夹中 或者只使用第一次创建的
  • 更改 Firebase 电子邮件不会更新providerData

    我在我的 iOS 应用程序中使用 Firebase 用户使用 Firebase 的电子邮件和密码身份验证登录 目前 我正在创建允许用户更改电子邮件和密码的功能 我注意到使用成功更改电子邮件地址后changingEmailForUser 电子
  • CSS 边距为负而不移动父容器

    我正在尝试进入此页面 http musicaladvocacy org http musicaladvocacy org 显示 Home 灰色渐变中的白色容器 的区域向上移动约 60 px 但正如您所看到的 它同时将父容器向上移动 我只是想
  • 单选按钮上的 jQuery .change()

    我一定在这里遗漏了一些明显的东西 我无法理解 改变 http api jquery com change 触发单选按钮 我有下面的代码here http bjmarine net test html
  • CSS 图像精灵

    使用CSS图像精灵的唯一好处是减少http请求吗 或者还有其他好处吗 还有一种简单的方法可以确定要显示精灵的哪个区域的时间吗 正如您所说 主要优点之一是减少对服务器的请求数量 提高响应时间 特别是在加载大量小图像时 但这并不是人们使用精灵的
  • 计算 R 中数值向量的位数

    我在 R 中有一个数字向量 c 0 9 0 81 我想提取该向量中每个元素的位数 该命令将返回 在这种情况下 1 and 2因为数字是9 and 81 有方便的方法吗 另外 如果结果是1 如何扩展到两位数 例如 我希望返回的向量是 c 0
  • 坚持/提交在 Spring JPA JUnit 的测试环境中不起作用

    我正在尝试设置基本的 JPA 插入测试 但数据库中没有保存任何内容 数据库是Postgresql Hibernate 用作持久性提供者 提前谢谢了 Entity public class Currency Id GeneratedValue
  • 使用 Node.js 中的 fast-csv 包读取和写入 CSV

    我正在尝试编写一个简单的节点程序 该程序读取 csv 文件 提取列 比如第二列 并将其写入另一个 CSV 文件 我正在将内容读取到数组中 然后将该数组写入文件 每一步的阶段和数据 输入文件 123 456 789 abc def ghi 2
  • 如果不创建插件,则无法在 eclipse 中使用 JFace 和 SWT

    免责声明 这是 NET GUI 试图解决 JAVA 问题的典型案例 问题描述 我正在尝试使用 JFace 和 SWT 构建一个非常简单的 GUI 代码很简单 有很多教程 但不那么简单的是我似乎无法让 JFace 和 SWT 在插件项目之外工