2

我有一个工作的 Tycho 构建,可以生成一个工作的 p2 存储库。我当前的工作流程是手动将此构建的结果从项目的目标目录拖放到托管 p2 存储库的 Web 服务器。我的第谷构建的结果看起来很正常:

${projectBaseDir}/target/repository
     - features
          - com.my.product.feature.201111071414.jar
     - plugins
          - com.my.product.plugins
     - artifacts.jar
     - content.jar

那么,在存储库目录中获取此构建的结果并将它们放置在 Web 服务器上的“行业标准”是什么。

在这种情况下,我在运行构建服务器的同一台机器上运行 p2 存储库的 Web 服务器,因此简单地复制到目录命令就可以了。

我已经使用 resources:copy-resources 尝试了 maven-resources-plugin,但没有成功。我不断收到有关无效输出目录的错误。我真的不觉得 copy-resources 是要走的路,因为该目标的一般目的是将文件复制maven 构建的目标目录,而不是maven 构建的目标目录复制文件.

我的任务似乎很简单,我意识到复制文件有很多选择,但我正在寻找“maven way”或者更好的“tycho way”来做这件事。如果有这样的标准。

谢谢,台湾

4

3 回答 3

2

您可以使用antrun插件实现您想要的。它允许您在 Maven 构建期间使用 ant 任务/目标(如复制文件)来执行操作。

我希望以下内容对您有用:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.6</version>
    <executions>
        <execution>
        <id>configFix</id>
        <phase>package</phase>
        <configuration>
            <target name="configFix">
                <copy file="${project.build.directory}/p2/some.file" todir="C:\My\Directory" overwrite="true">
                </copy>
            </target>
        </configuration>
        <goals>
            <goal>run</goal>
        </goals>
        </execution>
    </executions>
</plugin>
于 2011-11-10T21:48:53.220 回答
1

有一个Minerva 如何发布存储库的示例。

于 2011-11-09T08:47:34.587 回答
0

我刚刚完成了一个插件:http: //download.ralph-schuster.eu/eu.ralph-schuster.uploadfiles-maven-plugin/STABLE/。它甚至提供了在存储库服务器上执行命令的方法,例如为了在部署之前删除旧文件或在部署之后合并工件。

希望它能解决部署问题。:)

于 2013-12-25T15:19:14.060 回答