0

Worklight アプリケーションの「Build All and Deploy」中に、次のエラーが発生します。

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

このバグは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 を削除するだけでは、他のエラーが発生するだけです...

どんなヒントでも大歓迎です。どうもありがとうございました !

4

1 に答える 1

0

回避策として、Eclipse から commons.io プラグインを削除してみてください。願わくば、Sonar が require-bundle ではなく import-package を使用していて、それが機能することを願っています。これにより、Worklight で競合が発生しなくなります。

于 2013-03-27T14:01:38.130 に答える