2013-03-26 50 views
0

時出現加載程序約束違規,我收到以下錯誤消息。Worklight 5.0.5:在Worklight應用程序的「構建所有和部署」期間運行Application Builder

An internal error occurred during: "Worklight application builder". 
loader constraint violation: when resolving method "org.apache.commons.io.FileUtils.iterateFiles(Ljava/io/File;Lorg/apache/commons/io/filefilter/IOFileFilter;Lorg/apache/commons/io/filefilter/IOFileFilter;)Ljava/util/Iterator;" 
the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) 
of the current class, com/worklight/builder/skins/impl/SkinBuilderImpl, 
and the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) 
for resolved class, org/apache/commons/io/FileUtils, 
have different Class objects for the type leUtils.iterateFiles(Ljava/io/File;Lorg/apache/commons/io/filefilter/IOFileFilter;Lorg/apache/commons/io/filefilter/IOFileFilter;)Ljava/util/Iterator; 
used in the signature 

控制檯輸出

[2013-03-26 15:30:13]    Worklight Server started successfully on localhost:8080 
[2013-03-26 15:30:13]    Activating Worklight project: AA... 
[2013-03-26 15:30:28] FWLSE3005I: Application raw reports are disabled. 
[2013-03-26 15:30:28] FWLST0010I: ====== Started server for project AA-project-customization; Worklight version=5.0.5.20130115-0926-developer-edition 
[2013-03-26 15:30:28]    Activation done. 
[2013-03-26 15:30:28]    Starting build process: application 'ap', all environments 

我相信這個bug在https://www.ibm.com/developerworks/forums/thread.jspa?threadID=465649也討論(只讀)

對我來說似乎這個錯誤是相當不錯可再現。 它發生在每次安裝其它插件的時間包含/使用org.apache.commons.io包

在我來說,我有我的插件文件夾中的org.apache.commons.io_2.0.1.v201105210651.jar(由Sonar 2.4.0交付)。它包含與plugins \ com.worklight.worklight-3rd-parties_5.0.5.20130115-0926 \ target \ dependency相同的Java類。

這也是訂購的問題,因爲只有在安裝了另一個org.apache.commons.io-using軟件包後安裝了Worklight時纔會出現錯誤。所以我堅信,問題是因爲有不同的類與相同的(包)名稱(爲什麼?) 我想過設置類加載器首選項(父母等)。但我不知道如何和我不知道在哪裏設置。

只是刪除第三方.jar's只會導致其他錯誤...

任何提示是極大的讚賞。 非常感謝!

+0

您可以試試看看這是否可以用Worklight 5.0.6重現? – 2013-03-26 15:34:10

+0

是可重現的,沒有任何改變。 – Martin 2013-03-27 13:03:04

回答

0

作爲一種解決方法,您是否可以嘗試從eclipse中刪除commons.io插件? 希望Sonar使用import-package並且不需要bundle,它會起作用,這樣Worklight就不會產生衝突。

+0

刪除org.apache.commons.io .... jar時,Worklight運行良好,但Sonar插件顯然無法啓動。 – Martin 2013-03-27 16:17:56

+0

你是什麼意思的進口包和需要捆綁,或更好的,我該如何檢查?在聲納的feature.xml中,我找不到這兩者。 – Martin 2013-03-27 16:18:57

+0

複製org.apache.commons之後...再次將jar放入插件文件夾中,兩者都在工作 - 似乎是一個順序問題。 非常感謝您的建議,但是當我們談論一個擁有數百個用戶的託管環境時,以及許多其他插件也使用org.apache.common.io。*,這不會是一種可靠的方式...... ... ???? – Martin 2013-03-27 16:20:57

相關問題