我遇到了在Intellij中使用Maven和OSGi依赖项设置开发环境的问题。
一开始,谈谈它的样子。 一切都建立在Maven构建之上。整个层次结构已经建立,我在构建项目时没有任何问题。它由许多小子模块组成:
<modules>
<module>com.modulea</module>
<module>com.moduleb</module>
<modules>
这些模块在内部使用OSGi,因此可以使用以下树呈现所有内容:
PARENT (pom.xml)
|----- Module A (pom.xml)
|----- META-INF
|----- MANIFEST.MF
|----- Export-bundle: com.modulea
|----- Module B (pom.xml)
|----- META-INF
|----- MANIFEST.MF
|----- Require-bundle: com.modulea
|----- src
...
|----- ModuleAClass (uses classes from com.modulea bundle)
问题与将项目导入IntelliJ有关。我将其作为Maven项目导入,并选中了复选框:
IntelliJ基于maven配置创建了项目的子模块,但...... 这些模块的依赖关系设置为库(Maven p2.eclipse-plugin)。有没有办法强迫它使用项目的子模块?当然,可以手动执行(项目设置 - &gt;依赖项 - &gt; + - &gt;模块依赖项),但是有太多的依赖项和子模块不时地重复它。
此外,如果我配置了依赖项(库依赖项),OSMORC插件无法解析OSGi依赖项/配置。对于来自外部包的每个类,我收到了一条消息:
包'com.modulea'未在清单中导入更少...(Ctrl + F1)