我有一个maven问题。
我有一个GWT项目,它生成一个临时目录gwt-unitCache文件夹。我想在构建过程结束时将其删除。
我有这个插件配置:
<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。有人可以帮忙吗?如何配置它:
我使用命令: maven clean install
建立它。
非常感谢。
答案 0 :(得分: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中忽略它吗?
答案 1 :(得分: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>
答案 2 :(得分:0)
因为它出现在注释中:您可以像这样更改缓存目录的位置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<configuration>
<persistentunitcachedir>${project.build.directory}</persistentunitcachedir>
</configuration>
</plugin>