【发布时间】:2021-03-18 15:44:51
【问题描述】:
我正在尝试使用 maven 和 tycho 构建多个 eclipse 产品。我目前遇到一个问题,其中 Bundle A 依赖于 Bundle B 中的一个类。 Bundle B 的包结构类似于:
a.b.c.d.e.f.Class
当我现在尝试构建 A 时,我得到一个看起来有点像这样的编译错误:
import a.b.c.d.e.f.MyClass;
[ERROR] ^^^^^^^^^
[ERROR] The import a.b.c.d.e cannot be resolved
如果您仔细观察,您会发现 Maven 显然试图解析错误的包,因为它只声明它无法解析 a.b.c.d.e,而要导入的类实际上在 a.b.c.d.e.f 中。
此外,a.b.c.d.e 中没有类。我已尝试将 a.b.c.d.e 作为清单中的导出包包括在内,并将其从该列表中删除,但都没有帮助。
这可能是什么问题?
【问题讨论】:
-
Maven 不解析 Java 包,Javac 可以。你有没有给你的
pom.xml添加对应的依赖? -
是的,依赖添加到
pom.xml。因为我也在使用 Tycho,所以我还在MANIFEST.MF中添加了 OSGI 包名称作为 Require-Bundle 条目。由于 Tycho 通过了依赖解析,我确定包含所需包的捆绑包位于类路径中。
标签: java maven build compilation tycho