gpt4 book ai didi

java - osgi 包如何知道接口(interface)?

转载 作者:太空宇宙 更新时间:2023-11-04 07:16:41 25 4
gpt4 key购买 nike

我正在学习使用 apache felix 处理 osgi 包。我正在使用maven-bundle-plugin生成 list 文件。

我创建了第一个包,其中仅包含一个接口(interface),并将其导出以供其他人使用。第二个包包含一个实现第一个包中创建的接口(interface)的类。我配置了第二个包来导入第一个包导出的包。

当我编译第二个包时,我收到一条错误,告诉我他无法解析接口(interface)。

我不确定我是否理解 bundle 的工作原理......

非常感谢...

[编辑]更多信息:使用maven编译时出现错误:

[INFO] Compilation failure
....../ServeurImpl.java:[17,36] error: cannot find symbol

ServeurImpl.java(第 17 行):

public class ServeurImpl implements Serveur {

Serveur 是在第一个包中创建的接口(interface)。

最佳答案

由于您将 API 部署在单独的 bundle 中,因此您需要在实现 API 的 bundle 的 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>

“提供”意味着容器会提供它...你说的是 Felix。

希望有帮助。

关于java - osgi 包如何知道接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19865867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com