2014-07-15 24 views
0

一些背景:我試圖建立一個NetBeans插件針對NetBeans 7.3.1 - 我有這個舊版本的NetBeans的工作,因爲這是工作,該部門將不允許我們強制升級到NetBeans的新版本。的NullPointerException庫包括NetBeans插件模塊中org.openide.windows時

不管怎樣,我開始在一個新的一個新項目安裝NetBeans的。文件 - >新建項目,並選擇了NetBeans模塊。我包括在項目中的新動作,我按照嚮導來創建它,按照NetBeans插件快速入門教程(對於谷歌工具欄教程here)。這很有用。所有東西都會編譯並且插件按鈕按預期的方式出現在工具欄中。

但是,要做我需要的,我必須包括一些外部庫,特別是org.openide.windows(通過org.openide.windows.jar)等。只要我有這個.jar文件,我得到一個NullPointerException。錯誤報告/堆棧跟蹤在這裏:

java.lang.NullPointerException 
    at org.netbeans.core.windows.WindowSystemImpl.load(WindowSystemImpl.java:79) 
    at org.netbeans.core.GuiRunLevel$InitWinSys.run(GuiRunLevel.java:231) 
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) 
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744) 
    at java.awt.EventQueue.access$400(EventQueue.java:97) 
    at java.awt.EventQueue$3.run(EventQueue.java:697) 
    at java.awt.EventQueue$3.run(EventQueue.java:691) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) 
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:714) 
    at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159) 
[catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) 
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) 

我寫了絕對沒有代碼。我的「代碼」是完全一樣的,當你從NetBeans文件開始新的清潔工程,將出現 - >新建項目,並選擇NetBeans模塊。所以我不知道它可能是我的代碼。由於沒有任何。

我錯過了什麼?我能做些什麼來解決這個問題,所以我可以編寫插件?或者圖書館剛剛壞了?我已經嘗試了多個來源的多個版本的.jar庫,似乎沒有任何工作。

回答

0

在同事的幫助下解決。我們沒有將包含org.openide.windows的包裝的JAR包作爲包裝JAR添加到我的項目中,而是嘗試在模塊依賴關係中通過名稱「Window System API」添加包。這工作。不知道爲什麼我們在JAR中找到的各種版本的org.openide.windows無法正常工作,並且導致NetBeans如此混亂,但添加Module Dependency解決了所有問題。

0

而不是compile time嘗試添加dependencyruntime,以便它西港島線是在編譯時都可用,以及運行時嘗試添加它像

文件 - >項目屬性 - > libraries->運行時庫。