在 Karaf 3.0.5 上从 maven 安装包重新启动失败

Installing bundle from maven on Karaf Restart failing on Karaf 3.0.5

我想在 Karaf 重启时从 maven 安装一个包(如果它还没有安装的话)。因此,为了实现这一点,我将其添加到 /etc/startup.properties 中,如下所示:-

# add here bundles you want to install while system startup, e.g. 
# joda-time/joda-time/2.9/joda-time-2.9.jar=10
mvn\:com.fasterxml.jackson.core/jackson-annotations/2.7.4 = 10

但是在尝试启动 karaf 时出现以下异常:-

jabongs-MacBook-Pro-4:apache-servicemix-6.1-2.0 debraj$ bin/servicemix
Please wait while Apache ServiceMix is starting...
Error installing bundle listed in startup.properties with url: mvn:com.fasterxml.jackson.core/jackson-annotations/2.7.4 and startlevel: 10
Exception in thread "main" java.lang.NullPointerException
    at org.apache.karaf.main.Main.destroy(Main.java:533)
    at org.apache.karaf.main.Main.main(Main.java:173)

当我尝试在 Karaf 启动后通过以下命令安装时,相同的包安装正常:-

karaf@root>bundle:install mvn:com.fasterxml.jackson.core/jackson-annotations/2.7.4
Bundle ID: 237

有人可以在以下方面帮助我吗:-

  1. 为什么捆绑安装在 Karaf 启动时失败?
  2. 我只在第一次启动 Karaf 时看到错误。之后我没有看到上述错误,也没有安装捆绑包。那么 Karaf 是否仅在第一次启动时才尝试在 startup.properties 中安装捆绑包?
  3. 如果 #2 的答案是肯定的,在 Karaf 中是否有其他地方可以放置包名称,以便 Karaf 每次(如果尚未安装)在重新启动时尝试安装它?

环境:-

mvn: url 解析器可能没有连接。尝试在没有 mvn: 的情况下添加它并确保 jar 在 system/ 文件夹中。

如果这是针对业务代码而不是 container/product 扩展类型代码,您最好的办法是构建一个功能并将其添加到 etc/org.apache.karaf.features.cfg featuresBoot