2012-12-20 44 views
1

我能夠按照教程here並將其轉換爲Maven應用程序。ClassNotFoundException Netbeans Maven庫封裝器

我得到了正確的加載部分,但是當我嘗試使用它時,它找不到合適的swt類(從Windows 64運行時)。我在一個Maven項目上做了這個。下面是Windows 64模塊各自的pom的相關部分:

  <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>nbm-maven-plugin</artifactId> 
       <extensions>true</extensions> 
       <configuration> 
        <!-- To have the jar plugin pickup the nbm generated manifest --> 
        <useDefaultManifestFile>true</useDefaultManifestFile> 
        <moduleType>normal</moduleType> 
        swt.windows.64/1</codeNameBase> 
        <publicPackages> 
         <publicPackage>org.eclipse.swt</publicPackage> 
        </publicPackages> 
       </configuration> 
      </plugin> 

我轉換爲org.eclipse.swt。*。這似乎是一個Maven模塊問題,因爲它已經嘗試從正確的模塊加載。

Caused: java.lang.ClassNotFoundException: org.eclipse.swt.SWT starting from [email protected][djproject.core] with possible defining loaders [[email protected][swt.windows.64]] and declared parents [[email protected][org.netbeans.api.annotations.common]] 

Caused: java.lang.NoClassDefFoundError: org/eclipse/swt/SWT 
    at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface.initialize_(SWTNativeInterface.java:213) 
    at chrriis.dj.nativeswing.swtimpl.NativeInterface.initialize(NativeInterface.java:71) 
    at chrriis.dj.nativeswing.swtimpl.core.SWTNativeInterface.open_(SWTNativeInterface.java:337) 
    at chrriis.dj.nativeswing.swtimpl.NativeInterface.open(NativeInterface.java:100) 
    at synamicd.windows64.support.Windows64BrowserProvider.initialize(Windows64BrowserProvider.java:25) 

任何幫助都比歡迎!

編輯: 代碼可用here

回答

1

當我嘗試建立在到位桶位置的應用程序,它的構建順序表明,沒有一個SWT組件在應用程序中使用 - http://screencast.com/t/LMxIPy6A6ZUL

+0

當我只是嘗試與依賴關係構建mac64項目,我得到這個錯誤。 http://screencast.com/t/BZTNT4gnSB – mkleint

+0

你在哪裏完全正確!我只是解決了這些問題,並添加了一個演示模塊來顯示行爲。關於這些應該在本地安裝的缺失依賴關係。他們目前在libs文件夾中。 – javydreamercsw

+0

那些在我將代碼移植到公共回購庫時發生錯誤的人,因爲它對原始回購進行了處理。 – javydreamercsw