時出現加載程序約束違規,我收到以下錯誤消息。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只會導致其他錯誤...
任何提示是極大的讚賞。 非常感謝!
您可以試試看看這是否可以用Worklight 5.0.6重現? – 2013-03-26 15:34:10
是可重現的,沒有任何改變。 – Martin 2013-03-27 13:03:04