apache-karaf-3.0.3\etc\system.properties にプロパティ karaf.lock.level=50 を追加すると、次の例外がスローされます。
java.lang.RuntimeException: Error installing bundle listed in startup.properties with url: mvn:org.ops4j.pax.url/pax-url-aether/2.3.0 and startlevel: 5
at org.apache.karaf.main.Main.installAndStartBundles(Main.java:392)
at org.apache.karaf.main.Main.launch(Main.java:245)
at org.apache.karaf.main.Main.main(Main.java:167)
原因: org.osgi.framework.BundleException: バンドル org.ops4j.pax.url.mvn の未解決の制約 [1]: 1.0 を解決できません: 要件がありません [1.0] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j)(バージョン>=1.6.0)(!(バージョン>=2.0.0))) org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java: 3974) org.apache.felix.framework.Felix.startBundle(Felix.java:2037) で org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955) で org.apache.felix.framework.BundleImpl .start(BundleImpl.java:942) at org.apache.karaf.main.Main.installAndStartBundles(Main.java:389) ... 2 もっと見る
ドキュメントで説明されているようにフェイルオーバー メカニズムを構成すると、同じ結果になります。http://karaf.apache.org/manual/latest/users-guide/failover.html
karaf.lock=true
karaf.lock.class=org.apache.karaf.main.lock.DefaultJDBCLock
karaf.lock.level=50
karaf.lock.delay=10
karaf.lock.jdbc.url=jdbc:mysql://localhost/something
karaf.lock.jdbc.driver=com.mysql.jdbc.Driver
karaf.lock.jdbc.user=aUser
karaf.lock.jdbc.password=aUnsecurePassword
karaf.lock.jdbc.table=KARAF_LOCK
karaf.lock.jdbc.clustername=karaf
karaf.lock.jdbc.timeout=30
karaf.lock.level が削除されるか、0 より大きく 5 より小さい値に設定されると、ドライバーは apache-karaf-3.0.3\lib\ext にドロップされます。動作しているようです。
karaf の 2.3.3 インストールで同じ lock.level.property を 50 に設定すると、すべて正常に動作するようです。3.xx から 2.3.3 に何が変更されたのか、または何が問題を引き起こす可能性があるのか 誰にもわかりません。
よろしくお願いします。お時間をいただきありがとうございます:D