我正在使用 Apache Karaf 2.3.0,并将我的包部署为 Activator 包。在某些地方,我很少遇到我的 karaf 无法启动捆绑包的问题。但是我看到,当我在网络(在我的 Linux 机器上)关闭的情况下在此类机器上启动容器时,它会启动。对于 Karaf 在网络上的依赖关系,我有点困惑,即阻止它解析所有捆绑包。从我的应用程序特定的捆绑代码中,我没有专门使用网络。
Karaf 对网络的依赖是什么?
我正在使用 Apache Karaf 2.3.0,并将我的包部署为 Activator 包。在某些地方,我很少遇到我的 karaf 无法启动捆绑包的问题。但是我看到,当我在网络(在我的 Linux 机器上)关闭的情况下在此类机器上启动容器时,它会启动。对于 Karaf 在网络上的依赖关系,我有点困惑,即阻止它解析所有捆绑包。从我的应用程序特定的捆绑代码中,我没有专门使用网络。
Karaf 对网络的依赖是什么?
Karaf deploys bundles as maven artifacts, sometimes it will try to figure out to use the latest from the repository. I think there has been a fix for this behavior already. You should use the latest 2.3.9 instead of 2.3.0. There has been a lot of improvements regarding this topic.
EDIT - Question Answers:
1) Karaf sometimes tries to load the artifacts from the local maven repository and after that from the system folder. This is a regression that has been fixed.
2) Yes this issue has been fixed on all current versions.
3) I would always go for version 3.0.2 since this is in line with future enhancements. 2.4. was introduced to have OSGi 5 capabilities with supporting the "Older" feature set, especially the command syntax which has been changed with 3.0
4) yes and has been made default with 3.0.x and 2.3.x
跑起来了 我相信这确实是 maven。我的 linux 机器上的 resolv.conf 文件中有 ip 条目,这可能使 maven 向外看,但没有得到正确的响应。从 /etc/ 文件中删除 mvn url 并重新启动 karaf 并启动。
但我仍然对这在其他盒子上的工作方式感到困惑......谢谢 Achim