无法在Eclipse中运行SWT应用程序

时间:2012-10-17 18:13:43

标签: java eclipse swt

我正在关注Eclipse编辑器中的教程(单击Help -> Welcome -> Tutorials)。我完成了以下所有步骤:

  

此备忘单向您展示了如何创建“Hello World”应用程序   它使用标准窗口小部件工具包(SWT)。申请将   只需向用户显示一个空窗口。如果你需要任何帮助   步骤,单击右侧的(?)。让我们开始吧!

     

如果您尚未处于Java透视图中,请在主菜单中选择   窗口> Open Perspective> Java或点击“点击执行”   下方链接。

     

通过文件>从主菜单打开导入向导;导入...,和   选择插件开发>插件和碎片。点击下一步。上   在Import Plug-ins and Fragments页面中,选择Import from:The   主动目标平台。要导入的插件和片段:从中选择   在指定位置找到的所有插件和片段。导入为:   包含源文件夹的项目。点击下一步。在“选择”页面上,添加   org.eclipse.swt。{platform}。{os}。{arch}(例如:   org.eclipse.swt.win32.win32.x86 for win32)to Plug-ins and Fragments   导入:列表。单击完成。这将创造   我们需要的org.eclipse.swt。{platform}。{os}。{arch}项目   编译并运行应用程序。

     

现在我们需要一个项目来存储我们自己的源代码。在主要   单击工具栏,单击“新建Java项目”按钮,或单击链接   下面。输入HelloWorldSWT作为项目名称,然后单击Finish。

     

由于我们的项目需要SWT,我们需要在项目中指定它   属性。右键单击该项目,然后选择“属性”。在里面   Java Build Path页面打开Projects选项卡,添加   org.eclipse.swt。{platform}。{os}。{arch} project,然后单击OK。

     

下一步是创建一个新类。在主工具栏中,单击   New Java Class按钮(或下面的链接)。如果还没有   指定,选择HelloWorldSWT / src作为源文件夹。输入   HelloWorldSWT为类名,并选中复选框以创建   main()方法,然后单击Finish。 Java编辑器将自动执行   打开显示你的新课程。

     

在Java编辑器中,在main()中输入以下Java代码   方法:显示display = new Display(); Shell shell = new   壳(显示器); shell.setText(“Hello world!”); shell.open();而   (!shell.isDisposed()){if(!display.readAndDispatch())   display.sleep(); } display.dispose();您将收到编译错误。   右键单击Java编辑器,然后选择Source>组织进口,   然后保存您的更改。

     

要运行您的应用程序,请右键单击Package中的类   资源管理器并选择运行方式> Java应用程序。一个新的空窗口   应该出现标题为“Hello world!”。恭喜!你有   成功创建了一个Hello World SWT应用程序!

这是截图:

screenshot

但是当我尝试运行该程序时,不是按预期显示空白屏幕,而是将其转储到终端:

Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
no swt-cocoa-4233 in java.library.path
no swt-cocoa in java.library.path
Can't load library: /Users/devenkelling/.swt/lib/macosx/x86_64/libswt-cocoa-4233.jnilib
Can't load library: /Users/devenkelling/.swt/lib/macosx/x86_64/libswt-cocoa.jnilib

at org.eclipse.swt.internal.Library.loadLibrary(Library.java:331)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:240)
at org.eclipse.swt.internal.C.<clinit>(C.java:21)
at org.eclipse.swt.widgets.Display.<clinit>(Display.java:101)
at HelloWorldSWT.main(HelloWorldSWT.java:11

我正在使用安装了64位Eclipse的x64系统以及32位和64位版本的Java(我认为)。请帮忙。感谢。

1 个答案:

答案 0 :(得分:10)

  

来源: Eclipse Forums

这对我有用:

  • 右键单击项目文件夹HelloWorldSWT上的;

  • 转到Properties - &gt;左侧边栏Java Build Path - &gt;标签Projects;

  • 点击左侧的箭头展开org.eclipse.swt.cocoa.macosx.x86_64文件夹;

  • 选择Native library location,然后点击Edit;

  • 点击Workspace按钮,然后选择org.eclipse.swt.cocoa.macosx.x86_64;

  • 点击OK几次;

你已经完成了!希望这有帮助。