包含Maven Tycho eclipse插件项目的Pom打包父模块作为子模块

时间:2014-10-20 17:54:07

标签: eclipse maven plugins tycho

粗糙的项目结构如下:

父模块

<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相关的库就会自动从插件项目的构建路径中删除。

请帮我解决如何在插件项目中解析父类引用。

1 个答案:

答案 0 :(得分:0)

OSGi不支持从bundle到非bundle库的引用。

因此,如果要重新使用构建中其他模块的类,则还需要使用OSGi包,并且需要在OSGi包清单中设置相应的导出和输入。