没有 classDefoundError Apache Karaf

No classDeffoundError Apache Karaf

我在我的项目中使用 hapi-osgi-base v2.2 包并将其安装在 karaf 容器中,以便我的代码在运行时使用它。 karaf 容器已经预装了一个 hapi-osgi-base v 1.2 包,我的代码试图使用 v 1.2 包并抛出一个 NoClassDefFoundError。我试图在包中的导入包部分 [2.2, 3.0) 中指定范围。我的包无法解析,因为 hapi-osgi-base 没有导出包版本 2.2。同样有趣的是,它只导出所有带有 v 0.0.0 的包。不知道是不是跟他们的pom有关。

我尝试使用 hapi-osgi-base;version="2.2";scope=runtime。我仍然得到 No ClassDefoundError。请提出建议。

OSGI 的经验法则是,如果您得到“ClassNotFoundException”,则不会导出它,而 java.lang.NoClassDefFoundError 是当您不导入它时。

看到这个java.lang.NoClassDefFoundError on OSGi