karaf中的bundle无法解析java库

时间:2016-12-14 11:48:06

标签: osgi apache-karaf osgi-bundle

我在linux中设置了java_home,在bin / karaf脚本文件中有一个条目是:

JAVA_EXT_DIRS =&#34; $ {JAVA_HOME} / JRE / lib / ext目录:$ {JAVA_HOME} / lib / ext目录:$ {JAVA_HOME} / JRE / lib中:$ {KARAF_HOME} / lib / ext目录&#34; < / p>

当我的karaf启动并运行并且测试流量时,错误就是抛出:

引起:java.lang.ClassNotFoundException:找不到javax.xml.transform.TransformerFactoryConfigurationError ..

但是这应该由rt.jar提供,rt.jar存在于&#34; $ {JAVA_HOME} / jre / lib&#34;因此我在JAVA_EXT_DIRS条目中添加了相同的部分。 但同样的错误仍然存​​在。

我应该从karaf获取java库。 帮助我了解原因。

1 个答案:

答案 0 :(得分:2)

您的捆绑包需要在其Import-Package语句中导入包javax.xml.transform

通常,您需要导入您实际使用的所有包,唯一的例外是以java.开头的包,其中包括java.langjava.util等,但不包括{{ 1}}。