【发布时间】:2015-08-02 12:07:38
【问题描述】:
我想在 Karaf 中安装 org.postgresql/postgresql/9.4-1201-jdbc41 但出现错误。如何解决这些错误?奇怪的是,在 Windows 上,我的 Karaf 的 Postgres jdbc 没有错误,但在 Ubuntu 上却有这些错误。任何线索表示赞赏。
Install Kar feature social_importer.kar/1.0-SNAPSHOT
java.lang.Exception: Could not start bundle
mvn:org.postgresql/postgresql/9.4-1201-jdbc41 in feature(s)
T: Unresolved constraint in bundle org.postgresql.jdbc41
[127]: Unable to resolve 127.0: missing requirement [127.0]
osgi.wiring.package; (osgi.wiring.package=javax.transaction.xa)
Caused by: org.osgi.framework.BundleException:
Unresolved constraint in bundle org.postgresql.jdbc41 [127]: Unable
to resolve 127.0: missing requirement [127.0] osgi.wiring.package;
(osgi.wiring.package=javax.transaction.xa)
这可能与Apache Felix not able to access Postgres JDBC有关
karaf@root()> install -s wrap:mvn:postgresql/postgresql/9.4-1201-jdbc41
Bundle IDs:
Error executing command: Error installing bundles:
Unable to install bundle wrap:mvn:postgresql/postgresql/9.4-1201-jdbc41
karaf@root()> install -s mvn:postgresql/postgresql/9.4-1201-jdbc41
Bundle IDs:
Error executing command: Error installing bundles:
Unable to install bundle mvn:postgresql/postgresql/9.4-1201-jdbc41
karaf@root()>
我查看了日志级别为 INFO 的 Karaf 日志。
Caused by: java.lang.NoClassDefFoundError: org/osgi/service/jdbc/DataSourceFactory
at org.postgresql.osgi.PGBundleActivator.start(PGBundleActivator.java:32)
at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:2154)
... 11 more
Caused by: java.lang.ClassNotFoundException: org.osgi.service.jdbc.DataSourceFactory not found by org.postgresql.jdbc41 [5328]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1556)[org.apache.felix.framework-4.4.1.jar:]
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:77)[org.apache.felix.framework-4.4.1.jar:]
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1993)[org.apache.felix.framework-4.4.1.jar:]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_25]
【问题讨论】: