java - 如何在部署 OSGI 包时修复缺失的需求

标签 java maven glassfish osgi

我尝试在 glassfish 4.1.1 中部署一个简单的 OSGI 包(hello world),但出现以下错误:

Infos:   org.osgi.framework.BundleException: 
Unresolved constraint in bundle com.mycompany.MavenHelloServiceImpl [324]:
  Unable to resolve 324.0: missing requirement [324.0] 
    osgi.wiring.package; (osgi.wiring.package=com.mycompany.mavenhelloserviceapi)
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3974)

我不知道如何修复丢失的包,我已经将“com.mycompany.mavenhelloserviceapi”定义为 bundle MavenHelloServiceImpl 中的依赖项,并且它存在于 bundle MavenHelloServiceImpl 的依赖项文件夹中 知道如何修复此错误吗?!

最佳答案

com.mycompany.mavenhelloserviceapi因为 pom.xml 中的依赖项是不够的:pom 是关于编译时依赖项的。您在这里看到一个关于缺少运行时依赖项的问题。

您应该安装com.mycompany.mavenhelloserviceapi在你的容器中。

关于java - 如何在部署 OSGI 包时修复缺失的需求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35566265/

相关文章:

deployment - 部署应用程序而不取消部署以前的应用程序并且没有停机时间?

deployment - 从 Glassfish 取消部署所有应用程序

java - 这个 Java 程序是如何运行的?

java - Websocket服务器: Handle close event per session

java - 大学 Java 练习(字符串)遇到问题

java - 找不到符号编译器消息

java - 动态改变maven依赖

maven - 使用 JRE 1.5,Maven 仍然表示 -source 1.3 中不支持注释

java - Maven 构建 list 不包含类路径。

security - 使用 RDBMS 自定义 isUserInRole 实现