我有一个Maven项目,它是许多子项目的集合。该项目使用maven javadoc插件将所有子项目javadoc聚合到target/
文件夹中的单个目录中。我在target/
文件夹中有一个额外的文件,我希望保留javadoc页面。但是,每次运行clean
时,都会删除此文件。我想知道是否有办法删除整个目标目录并只留下一个文件。我的插件目前配置如下:
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<execution>
<executions>
<id>default-clean</id>
<configuration>
<excludeDefaultDirectories>true</excludeDefaultDirectories>
<filesets>
<fileset>
<directory>target</directory>
<excludes>
<exclude>path/to/myFile.xml</exclude>
</excludes>
<followSymlinks>false</followSymlinks>
<fileset>
</filesets>
</configuration>
<phase>initialize</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
我看到了类似的问题here,但解决方案似乎对我没用。
答案 0 :(得分:1)
将该静态文件放在资源文件夹中,让maven-resources-plugin
将其复制到特定目标文件夹。
答案 1 :(得分:1)
我有同样的需求,在玩了一段时间后,我发现了一个可行的解决方案,可以避免删除目标文件夹中的特定文件。
假设您不想删除do_not_delete
文件夹中的文件target
,此配置适用于我:
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<excludeDefaultDirectories>true</excludeDefaultDirectories>
<filesets>
<fileset>
<directory>target</directory>
<followSymlinks>false</followSymlinks>
<useDefaultExcludes>false</useDefaultExcludes>
<excludes>
<exclude>do_not_delete</exclude>
</excludes>
</fileset>
</filesets>
</configuration>
</plugin>
答案 2 :(得分:0)
如您所述,可以从您的项目中明确排除或包含文件。你对你提供的排除路径持积极态度吗?
<filesets>
<fileset>
<directory>src/main/generated</directory>
<followSymlinks>false</followSymlinks>
<useDefaultExcludes>true</useDefaultExcludes>
<includes>
<include>*.java</include>
</includes>
<excludes>
<exclude>MyPathRelativeToDirectoryTag/myFile.xml</exclude>
</excludes>
</fileset>
</filesets>