我在web.xml
文件中添加了contect-param
选项卡
<context-param>
<param-name>blueprintLocation</param-name>
<param-value>OSGI-INF/blueprint/blueprint.xml</param-value>
</context-param>
还listner
web.xml
文件中的类
<listener>
<listener-class>org.apache.aries.blueprint.web.BlueprintContextListener</listener-class>
</listener>
加载到 Karaf 后,我收到以下错误:
java.lang.ClassNotFoundException: org.apache.aries.blueprint.web.BlueprintContextListener not find by com.test.test.core.jsonstore-http-api
如何解决此问题?
该错误表明您的捆绑包可能没有在他的清单中导入软件包org.apache.aries.blueprint.web。MF 文件。
有几种方法可以解决这个问题,如果你使用的是maven-bundle-plugin,你可以手动将包添加到Import-Package指令中,就像这样:
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Import-Package>
org.apache.aries.blueprint.web,
*
</Import-Package>
</instructions>
</configuration>
</plugin>
</plugins>
如果使用其他工具生成清单,则应与此类似。