粗糙的项目结构如下:
父模块
<groupId>groupId</groupId>
<artifactId>Module-Parent</artifactId>
<packaging>pom</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>Parent Project</name>
<modules>
<module>Module1</module>
<module>Module2</module>
<module>PluginModule3</module>
</modules>
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
PluginProject pom.xml
<parent>
<groupId>groupId</groupId>
<artifactId>Module-Parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>PluginProject</artifactId>
<name>Plugin Project</name>
<packaging>eclipse-plugin</packaging>
<dependencies>
<dependency>
<groupId>Module2groupID</groupId>
<artifactId>module2</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
//包含tycho依赖项
现在由于父和子模块的包装不同。我无法使用eclipse在代码中引用父类,也不考虑maven依赖项/库。但是我能够分别使用maven和Tycho成功构建所有模块(如果我没有从父项目中引用任何类)。
只要在子模块pom.xml中添加了eclipse-pluginentry,所有与Maven相关的库就会自动从插件项目的构建路径中删除。
请帮我解决如何在插件项目中解析父类引用。
答案 0 :(得分:0)
OSGi不支持从bundle到非bundle库的引用。
因此,如果要重新使用构建中其他模块的类,则还需要使用OSGi包,并且需要在OSGi包清单中设置相应的导出和输入。