2

動作するp2リポジトリを生成する動作するTychoビルドがあります。私の現在のワークフローは、このビルドの結果をプロジェクトのターゲットディレクトリからp2リポジトリをホストするWebサーバーに手動でドラッグアンドドロップすることです。私のtychoビルドの結果は正常に見えます:

${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を試しましたが運がありませんでした。無効な出力ディレクトリに関するエラーが発生し続けました。その目標の一般的な目的は、Mavenビルドのターゲットディレクトリからファイルコピーすることではなく、Mavenビルドのターゲットディレクトリにファイルをコピーすることであるため、copy-resourcesがここに行く方法であるとは本当に感じません。。

私の仕事は単純なようで、ファイルをコピーするためのオプションがたくさんあることに気づきましたが、私はこれを行うための「Mavenの方法」またはより良い「tychoの方法」を探しています。そのような標準が存在する場合。

ありがとう、TW

4

3 に答える 3

2

あなたはantrunプラグインであなたが望むものを達成することができます。これにより、Antタスク/ターゲット(ファイルのコピーなど)を使用して、Mavenビルド中に処理を実行できます。

私は次のようなものがあなたのために働くことを期待しています:

<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

ミネルバがリポジトリを公開する方法のがあります。

于 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 に答える