bndtools Eclipse プラグインは、追跡できなかったログバックに対して一貫して「制約違反を使用しています」と報告します( StackOverflowとGoogle で見つけることができるすべての関連する質問を調べました)。
「実行構成」を変更するたびに制約違反が表示され、十分なプロジェクトのクリーン/再ビルドとEclipseの再起動後に最終的に消えます(雑多な神へのつぶやきの呼び出しと時折の鶏の犠牲もそれと関係があるかもしれません)。
私のワークスペースにはログバックを直接エクスポートするものはないように見えるため、2 つの競合するチェーンの原因は明らかではありません。Felixバンドルまたは SLF4J のいずれかである可能性がありますが、それもありそうにありません。
バンドルの部分的なリスト:
osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.shell)',\
osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.command)',\
osgi.identity;filter:='(osgi.identity=org.apache.felix.log)',\
osgi.identity;filter:='(osgi.identity=slf4j.api)',\
osgi.identity;filter:='(osgi.identity=ch.qos.logback.core)',\
osgi.identity;filter:='(osgi.identity=ch.qos.logback.classic)',\
制約違反レポート:
Uses constraint violation. Unable to resolve resource ch.qos.logback.classic [ch.qos.logback.classic ver=1.1.2] because it is exposed to package 'ch.qos.logback.classic.spi' from resources ch.qos.logback.classic [ch.qos.logback.classic ver=1.1.2] and ch.qos.logback.classic [ch.qos.logback.classic ver=1.1.2] via two dependency chains.
Chain 1: ch.qos.logback.classic [ch.qos.logback.classic ver=1.1.2]
import: (&(osgi.wiring.package=ch.qos.logback.classic.spi)(version>=1.1.0))
|
export: osgi.wiring.package: ch.qos.logback.classic.spi ch.qos.logback.classic [ch.qos.logback.classic ver=1.1.2]
Chain 2: ch.qos.logback.classic [ch.qos.logback.classic ver=1.1.2]
import: (&(osgi.wiring.package=ch.qos.logback.classic.spi)(version>=1.1.0)(!(version>=2.0.0)))
|
export: osgi.wiring.package: ch.qos.logback.classic.spi ch.qos.logback.classic [ch.qos.logback.classic ver=1.1.2] org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource ch.qos.logback.classic [ch.qos.logback.classic ver=1.1.2] because it is exposed to package 'ch.qos.logback.classic.spi' from resources ch.qos.logback.classic [ch.qos.logback.classic ver=1.1.2] and ch.qos.logback.classic [ch.qos.logback.classic ver=1.1.2] via two dependency chains.
Chain 1: ch.qos.logback.classic [ch.qos.logback.classic ver=1.1.2]
import: (&(osgi.wiring.package=ch.qos.logback.classic.spi)(version>=1.1.0))
|
export: osgi.wiring.package: ch.qos.logback.classic.spi ch.qos.logback.classic [ch.qos.logback.classic ver=1.1.2]
Chain 2: ch.qos.logback.classic [ch.qos.logback.classic ver=1.1.2]
import: (&(osgi.wiring.package=ch.qos.logback.classic.spi)(version>=1.1.0)(!(version>=2.0.0)))
|
export: osgi.wiring.package: ch.qos.logback.classic.spi ch.qos.logback.classic [ch.qos.logback.classic ver=1.1.2] at org.apache.felix.resolver.ResolverImpl.checkDynamicPackageSpaceConsistency(ResolverImpl.java:1133) at org.apache.felix.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1086) at org.apache.felix.resolver.ResolverImpl.checkDynamicPackageSpaceConsistency(ResolverImpl.java:1402) at org.apache.felix.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1086) at org.apache.felix.resolver.ResolverImpl.checkDynamicPackageSpaceConsistency(ResolverImpl.java:1402) at org.apache.felix.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1086) at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:260) at biz.aQute.resolve.ResolveProcess.resolveRequired(ResolveProcess.java:34) at org.bndtools.core.resolve.ResolveOperation.run(ResolveOperation.java:61) at org.bndtools.core.resolve.ResolveJob.run(ResolveJob.java:43) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
これをトラブルシューティングする方法はありますか? 一貫した回避策だけでも本当にうれしいです..