maven编译器无法解析导入

9q78igpj  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(504)

我正试图用maven和tycho构建多个eclipse产品。我目前遇到了一个问题,即bundle a依赖于bundle b中的类。包b的包结构类似于:

a.b.c.d.e.f.Class

当我现在尝试构建时,我得到一个编译错误,看起来有点像这样:

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 作为清单中的导出包,并将其从该列表中删除,但两者都没有帮助。
有什么问题吗?

vsnjm48y

vsnjm48y1#

在使用非常详细的日志运行maven之后,我仔细检查了参数,maven(tycho)在编译bundle a时传递给jdt编译器。我注意到,它只是传递了一个jar,我将它添加到bundle b的类路径中。
然后我注意到,在b包的清单中,我指定了 Bundle-Classpath ,我只有类路径上的jar。我以前认为bundle本身的类将按默认值添加,但是在添加 ,.Bundle-Classpath 地产建设再次奏效。
如果你想了解更多,这篇文章为我指明了正确的方向。

相关问题