我正试图用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
作为清单中的导出包,并将其从该列表中删除,但两者都没有帮助。
有什么问题吗?
1条答案
按热度按时间vsnjm48y1#
在使用非常详细的日志运行maven之后,我仔细检查了参数,maven(tycho)在编译bundle a时传递给jdt编译器。我注意到,它只是传递了一个jar,我将它添加到bundle b的类路径中。
然后我注意到,在b包的清单中,我指定了
Bundle-Classpath
,我只有类路径上的jar。我以前认为bundle本身的类将按默认值添加,但是在添加,.
到Bundle-Classpath
地产建设再次奏效。如果你想了解更多,这篇文章为我指明了正确的方向。