免責聲明使用的JFace和SWT在eclipse:離不開創建插件
這是.NET GUI的努力工作,他圍繞Java的東西的方式經典案例。
問題描述:
我試圖建立到JFace和SWT一個非常簡單的圖形用戶界面 - 代碼很簡單(有很多教程),它不是那麼簡單的是,我似乎無法讓JFace和SWT在一個插件項目之外工作。因爲我把CLASSPATH中的「C:/ eclipse 3.5/plugins」(從我的計算機 - >屬性 - >高級 - )添加到我的項目中,所以我期望能夠在我的項目中使用JFace和SWT。 >環境變量)和所有swt - *。dll我可以在我的PATH(本地用戶和全局路徑,可以肯定)中找到,因爲this article在「安裝SWT和JFace」框中指示。
問題是我不能從eclipse.org導入任何東西,除非我直接從構建路徑引用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)時拋出。試圖重現錯誤,我評論了我所有的代碼,並在我的主要下列替代它,它拋出他同樣的錯誤上面第一行:
ApplicationWindow w = new ApplicationWindow(null); //<-- error on this line
w.setBlockOnOpen(true);
w.open();
Display.getCurrent().dispose();
問題:
問題1:我如何解決上面的錯誤(我想了解發生了什麼)並讓該死的東西運行?
問題2:爲什麼罐子對我的項目不可見以及如何製作它們?
由於缺乏對Java和eclipse的熟悉,我可能會錯過一些非常平凡的東西。任何幫助高度讚賞!
編輯:好像別人有同樣的問題 - >http://www.eclipsezone.com/eclipse/forums/t60528.html - 不太清楚他們是如何解決它雖然援助讚賞
謝謝 - 我設法瞭解這一點,但它花了一段時間,因爲在那篇文章中他們談論的MANIFEST文件,我沒有,因爲我是一個普通的java。所以我繼續並添加了對org.eclipse.equinox.common的引用,並修復了它(開始拋出關於EventManager的另一個錯誤,但修復了引用org.eclipse.core.commands的錯誤)。我發現這很混亂......如果我需要運行應用程序的某些內容丟失,我應該收到一些警告。 – JohnIdol 2009-12-23 14:15:35
這確實令人困惑。如果你正在開發eclipse插件,你會得到所有的警告,因爲插件依賴項被寫入MANIFEST.MF文件。如果你直接引用了一些缺失的類/接口,你也會收到警告。但是在獨立應用程序中使用jar文件是棘手的,你需要自己尋找依賴關係(或者使用類似Ivy或Maven的東西)。 – 2009-12-23 14:27:32
如何將'org.eclipse.equinox.common'添加到你的類路徑中?你能提供說明嗎?你從哪裏得到它,你在哪裏安裝它? – CodyBugstein 2013-05-10 20:24:42