Maven编译器无法解析导入



我正在尝试用maven和tycho构建多个eclipse产品。我目前遇到了一个问题,Bundle a依赖于Bundle B中的一个类。捆绑包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作为导出包包含在Manifest中,并将其从该列表中删除,但都没有帮助。

这里可能有什么问题?

在使用非常详细的日志记录运行maven之后,我仔细检查了参数,即maven(tycho(在编译Bundle A时传递给JDT编译器。我注意到,它只传递了我添加到Bundle B的类路径中的JAR。

然后我注意到,在Bundle B的MANIFEST中,我指定了Bundle-Classpath,类路径上只有JAR。我以前认为捆绑包本身的类会默认添加,但在将,.添加到Bundle-Classpath属性后,构建再次工作。

如果你想了解更多关于它的信息,这篇文章为我指明了正确的方向。

相关内容

  • 没有找到相关文章

最新更新