3

maven generate-sources フェーズで ant タスクを実行しようとしています。

ただし、多くの非生産的な「成功」の後、私が入力したものに関係なく、ビルドは常に成功することに気付きました。

これが私のモジュールの pom.xml のプラグイン構成です。

<plugin>
<groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.7</version>
                <executions>
                    <execution>
                        <configuration>
                            <tasks>
                                <fail message="Something wrong here."/>
                            </tasks>
                        </configuration>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

それはまだ成功しています。悪いantファイルを配置した場合。それでも成功します。

ここで私が間違っている可能性があることを誰かが知っていますか?

コンパイル/クリーン/インストール/デプロイ フェーズはすべて正常に機能します。「generate-source」だけではまったく機能しません。

私のsettings.xmlファイルにはレポ情報しか含まれていません

編集:

エラーを少し減らすことができました。

<configuration>
<target>
<echo message="hello ant, from Maven!"/>
<echo>Maybe this will work?</echo>
</target>
</configuration>

プラグインの構成内に配置する場合は、実行タグでネストされた構成ではありません。「mvn antrun:run」を実行すると、エコーが表示されます。ただし、実行要素のネストされた構成に配置すると、表示されません... mvn ゴールと antrun 命令の間にリンクがありませんか?

理解できません。同じ構成が実行/実行タグの外側で実行されますが、内部では実行されません。

4

2 に答える 2

1

解決策*解決策*解決策 ああ、見つけた!私のpom.xmlでは、すべての「プラグイン」「プラグイン」を「pluginManagement」の下に構成しました..この「pluginManagement」は、このプロジェクトではなく、すべての子プロジェクトのプラグインを構成します。事実上、プラグインを実装するすべての子の親のデフォルト構成ファイル..「pluginManagement」タグを削除しただけで機能します...

天に感謝します。丸一日これを眺めていた…

于 2012-05-30T10:57:36.377 に答える
0

実行に追加<failOnError>false</failOnError>してみてください。

ドキュメントによると、このパラメーターは「antビルドの失敗がMavenビルドの失敗につながるかどうかを指定します。この値が「true」の場合、antビルドが失敗してもMavenビルドが続行されます。「false」の場合、antビルドが失敗すると、Mavenビルドは失敗します。」

これは私には直感に反します。デフォルト値の「true」は、antビルドが失敗した場合に、Mavenビルドが失敗する原因になると思いますが、それはドキュメントが言っているようには見えません。

于 2012-05-29T20:58:36.753 に答える