eclipse插件不维护maven多模块的顺序

eclipse插件不维护maven多模块的顺序,maven,multi-module,tycho,Maven,Multi Module,Tycho,我们有很多eclipse插件项目、特性和更新站点。我们创建了一个主pom,其中定义了模块: <modules> <module>bundles/b1</module> <module>features/f1</module> <module>p2/site1</module> <module>bundles/b2</module> </modules&

我们有很多eclipse插件项目、特性和更新站点。我们创建了一个主pom,其中定义了模块:

<modules>
    <module>bundles/b1</module>
    <module>features/f1</module>
    <module>p2/site1</module>
    <module>bundles/b2</module>
</modules>

束/b1
功能/f1
p2/site1
束/b2
我们希望维护这一秩序,并按照 根据上面的链接,我们假设将按照模块元素的列出顺序保留顺序

我们的要求: site1生成一个site_assembly.zip。我们想把这个zip文件打包成一个包,这就是“b2”包的作用

我们的观察:

  • 在多模块构建开始时打印的Maven反应堆订单是正确的,但是每个模块的构建都是分叉的
  • 因为(1)bundle b2是在构建site1项目之前构建的,并且能够生成站点程序集zip
  • 我们尝试将“b2”的pom.xml中的依赖项添加到site1,但构建失败,因为它尝试首先构建b2,而b2依赖于site1,而site1到目前为止尚未构建
  • 当我们对osgi片段进行单元测试时,我们观察到了相同的行为。按照我们明确指定的顺序,主机位于测试片段之前,但是当调用maven构建时,它总是在主机之前构建片段,并且它常常失败
  • 在主pom中定义的插件:

     <plugin>
                <!-- enable tycho build extension -->
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>tycho-maven-plugin</artifactId>
                <version>${tycho-version}</version>
                <extensions>true</extensions>
            </plugin>
            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>target-platform-configuration</artifactId>
                <version>${tycho-version}</version>
                <configuration>
                    <disableP2Mirrors>true</disableP2Mirrors>
                    <resolver>p2</resolver>
                    <target>
                        <artifact>
                            <groupId>com.x.y</groupId>
                            <artifactId>p2.build.target</artifactId>
                            <version>${project.version}</version>
                            <classifier>x</classifier>
                        </artifact>
                    </target>
                </configuration>
            </plugin>
    
    
    org.eclipse.tycho
    tycho maven插件
    ${tycho版本}
    真的
    org.eclipse.tycho
    目标平台配置
    ${tycho版本}
    真的
    p2
    com.x.y
    p2.build.target
    ${project.version}
    x
    

    我们不确定maven tycho插件是否会干扰反应器顺序,因此我们非常感谢任何帮助。

    tycho从Eclipse描述符文件(MANIFEST.MF、feature.xml等)中解析依赖项,并重新排序模块,以便首先构建所需的工件