我正在学习使用apache felix处理osgi包。 我正在使用maven-bundle-plugin生成清单文件。
我创建了第一个包含一个接口的包,我将其导出以供其他人使用。 第二个包包含一个实现第一个包中创建的接口的类。 我配置了第二个包来导入第一个包导出的包。
当我编译第二个包时,我收到一个错误,告诉我他无法解析该接口。
我不确定我是否了解捆绑包的工作方式......
非常感谢...
[修改]更多信息: 我使用maven编译时遇到错误:
[INFO] Compilation failure
....../ServeurImpl.java:[17,36] error: cannot find symbol
ServeurImpl.java(第17行):
public class ServeurImpl implements Serveur {
Serveur是在第一个包中创建的界面。
答案 0 :(得分:1)
由于您在单独的软件包中部署API,因此需要在实现API的软件包的pom.xml文件中提供一些内容来说明它的可用性。
在你的pom.xml中输入如下内容:
<dependency>
<groupId>the.group</groupId>
<artifactId>Serveur</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>bundle</type>
<scope>provided</scope>
</dependency>
'提供'意味着容器会提供它......你说菲利克斯。
希望有所帮助。