4

私はmavenを初めて使用し、Eclipseの経験もあまりありません。

Java ファイルを Eclipse でのビルドから除外するには、ファイルを右クリックして [Build Path] -> [Exclude] を選択します。これは、Eclipse での「保存時」のコンパイルにはうまく機能しますが、maven プロジェクトには反映されないため、mvn install でプロジェクトをビルドすると、除外されたソースをコンパイルしようとします。

いくつかの検索を行った結果、コンパイラ プラグインと <excludes> 機能が示されましたが、ビルドからファイルを一時的に除外するために Maven プロジェクト ファイルを編集するのは少し面倒です。

Mavenビルドからソースを(一時的に)除外する「正しい」方法は何ですか?m2eclipseプラグインなどを介してEclipseから簡単に実行する方法はありますか?

4

2 に答える 2

7

Maven Compiler プラグインで < excludes > パラメーターを使用して、コンパイルからファイルを一時的に除外できます。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <excludes>
                    <exclude>**/model/*.java</exclude>
                </excludes>
            </configuration>
        </plugin>

M2Eclipse プラグインを使用して Maven->Update Project Configuration を実行すると、pom で除外されたファイルが自動的に Eclipse コンパイルからも除外されます。

于 2011-01-27T05:58:11.193 に答える
0

プロジェクト管理としてmavenを選択した場合は、実際に「mavenの方法」で実行する必要があります。

Eclipse は、プロジェクト プロパティで指定されたクラスパスに基づいてプロジェクトをビルドします。これは、maven コンパイラ プラグインのクラスパスとは関係ありません。「mvn compile」は、コンパイラ プラグインの設定によってのみ駆動されます。

通常、これらの「一時的な」変更は、Maven ゴール (cmd から実行している maven プラグイン/Mojo ゴール) に追加された JVM パラメーターによって処理され、作成 (カスタム ゴール) し、[Run as] > [Run configuration] に保存します。 . Mavenにはm2eclipseではなくコマンドライン(シェル)を使用しています。パラメータを変更する方が速いです。

使用できるパラメーターを見つけるには、Maven の依存関係で特定の Mojo (Maven プラグイン) を (一時的に) 指定し、Eclipse でそのソースを確認します。「-D」で指定できるパラメーターを確認できます。 JVM パラメータ。または、ドキュメントを確認できます。

コンパイラ プラグインにはパラメーターprivate Set<String> excludes = new HashSet<String>();がありますが、残念ながらコレクション パラメーターを JVM パラメーターとして指定することはできません。したがって、残っている唯一のオプションは、pom.xml でプラグイン宣言を構成することです。

次に、プロファイルもありますが、この場合には役に立ちません。

要約すると、コンパイルからJavaクラスを除外することは通常の要件ではありません。

役立つことを願っています

于 2011-01-26T14:22:25.617 に答える