5

Mavenの質問があります。

一時ディレクトリgwt-unitCacheフォルダーを生成するGWTプロジェクトがあります。ビルドプロセスの最後に削除したいのですが。

私はこのプラグイン構成を持っています:

<plugin>
    <artifactId>maven-clean-plugin</artifactId>
    <version>2.5</version>
    <configuration>
        <filesets>
            <fileset>
                <directory>src/main</directory>
                <includes>
                    <directory>gwt-unitCache/**</directory>
                </includes>
                <followSymlinks>false</followSymlinks>
            </fileset>
        </filesets>
    </configuration>
    <executions>
        <execution>
            <id>gwt-unitCache</id>
            <phase>install</phase>
                    <goals>
                        <goal>clean</goal>
                    </goals>
        </execution>
    </executions>
</plugin>

これは、src/mainの下に自動的に生成されたgwt-unitCacheフォルダーを削除することによってその役割を果たします。ただし、クラスとwarファイルを含むターゲットフォルダーも削除されました。

ターゲットファイルを削除したくないので、セクションを削除して構成を変更しました。

<plugin>
    <artifactId>maven-clean-plugin</artifactId>
    <version>2.5</version>
    <configuration>
        <filesets>
            <fileset>
                <directory>src/main</directory>
                <includes>
                    <directory>gwt-unitCache/**</directory>
                </includes>
                <followSymlinks>false</followSymlinks>
            </fileset>
        </filesets>
    </configuration>
    <executions>
        <execution>
            <id>gwt-unitCache</id>
            <phase>install</phase>
        </execution>
    </executions>
</plugin>

しかし、今回はもう機能しません。gwt-unitCacheは削除されません。プラグインは、ビルドプロセスの最後ではなく、最初に実行されるようです。

私はMavenが苦手です。誰かがこれを手伝ってくれる?次のように構成するにはどうすればよいですか。

  1. gwt-unitCacheは、ビルドプロセスの最後に削除されます。
  2. ターゲットフォルダは削除されません。

私はコマンドを使用します:maven clean install

それを構築します。

どうもありがとう。

4

3 に答える 3

6

テストされていませんが、仕事をするのに役立つ可能性のあるをmaven-clean-plugin公開しています。excludeDefaultDirectories何かのようなもの:

<plugin>
    <artifactId>maven-clean-plugin</artifactId>
    <version>2.5</version>
    <configuration>
        <filesets>
            <fileset>
                <directory>src/main</directory>
                <includes>
                    <directory>gwt-unitCache/**</directory>
                </includes>
                <followSymlinks>false</followSymlinks>
            </fileset>
        </filesets>
        <excludeDefaultDirectories>true</excludeDefaultDirectories>
    </configuration>
    <executions>
        <execution>
            <id>gwt-unitCache</id>
            <phase>install</phase>
            <goals>
                <goal>clean</goal>
            </goals>
        </execution>
    </executions>
</plugin>

ちなみに、なぜこのディレクトリをクリアする必要があるのか​​わかりません。SCMで無視することはできませんか?

于 2013-03-16T17:11:05.497 に答える
0

RC私はこのバリエーションを使用して、クリーンフェーズで通常どおり動作します。

<plugin>
    <artifactId>maven-clean-plugin</artifactId>
    <version>3.0.0</version>
    <executions>
        <execution>
            <id>gwt-unitCache</id>
            <phase>install</phase>
            <goals>
                <goal>clean</goal>
            </goals>
            <configuration>
                <filesets>
                    <fileset>
                        <directory>${project.build.directory}/${project.build.finalName}/c</directory>
                        <includes>
                            <directory>gwt-unitCache/**</directory>
                        </includes>
                        <followSymlinks>false</followSymlinks>
                    </fileset>
                </filesets>
                <excludeDefaultDirectories>true</excludeDefaultDirectories>
            </configuration>
        </execution>
    </executions>
</plugin>
于 2017-01-13T18:14:51.557 に答える
0

コメントで出てきたので:あなたはこのようにキャッシュディレクトリの場所を変えることができます:

<plugin>
 <groupId>org.codehaus.mojo</groupId>
 <artifactId>gwt-maven-plugin</artifactId>

 <configuration>
   <persistentunitcachedir>${project.build.directory}</persistentunitcachedir>
 </configuration>
</plugin>
于 2020-10-30T12:38:26.837 に答える