【问题标题】:Bundles in karaf not able to resolve java librarieskaraf 中的捆绑包无法解析 java 库
【发布时间】:2016-12-14 11:48:05
【问题描述】:

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

JAVA_EXT_DIRS="${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext:${JAVA_HOME}/jre/lib:${KARAF_HOME}/lib/ext"

当我的 karaf 启动并运行并在下面测试流程时会抛出错误:

原因:java.lang.ClassNotFoundException: javax.xml.transform.TransformerFactoryConfigurationError not found..

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

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

【问题讨论】:

  • 仅供参考...问题已修复。解决方案是在 karaf 脚本或 karaf.bat 中修改以下行 JAVA_EXT_DIRS="${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext:${KARAF_HOME}/lib/ext" 并添加 $ {JAVA_HOME}/jre/lib.

标签: osgi apache-karaf osgi-bundle


【解决方案1】:

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

一般来说,您需要导入您实际使用的所有包,唯一的例外是以java. 开头的包,其中包括例如java.langjava.util 等,但不包括javax.*

【讨论】:

  • 它出现在 Import-Package 部分。
  • @technicalworm ... 的正确捆绑包? IE。真正需要它的那个?您需要显示更多信息才能继续进行。
  • 仅供参考...问题已修复。解决方案是在 karaf 脚本或 karaf.bat 中修改以下行 JAVA_EXT_DIRS="${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext‌​:${KARAF_HOME}/lib/e‌​xt"并添加了 ${JAVA_HOME}/jre/lib.
猜你喜欢
  • 1970-01-01
  • 2021-04-23
  • 2021-08-08
  • 2014-09-20
  • 2015-07-04
  • 1970-01-01
  • 2015-05-22
  • 1970-01-01
  • 2018-08-13
相关资源
最近更新 更多