我有一个相对简单的Ant脚本commentOutXmlAnnotations.xml
,它编辑所有子目录中的Java文件的内容,以通过正则表达式注释掉某些行:
<?xml version="1.0"?>
<project
name="CommentOutXmlAnnotations"
basedir="."
default="commentOutXmlAnnotations" >
<!-- This Ant script comments out the following lines from the Java files in this directory
and all subdirectories:
-import javax.xml.bind.annotation.*;
-@Xml*
To run this in Eclipse, right-click on this file and click "Run As->Ant Build".
-->
<target
name="commentOutXmlAnnotations"
description="Run" >
<replaceregexp
byline="false"
flags="g" >
<regexp pattern="(@Xml[A-Za-z0-9]+(\([^)]+\))?|import javax\.xml\.bind\.annotation\.[A-Za-z0-9.]+;)[ \t]*(\r?\n)" />
<substitution expression="/*\1*/\3" />
<fileset dir="." >
<include name="*/*.java" />
</fileset>
</replaceregexp>
</target>
</project>
如果我将commentOutXmlAnnotations.xml
放入带有子目录中的.java文件的新的General Eclipse项目中并右键单击并执行“Run As-&gt; Ant Build”,一切正常并且.java文件中的行被评论出来。
但是,如果我将此commentOutXmlAnnotations.xml
文件放入Eclipse Maven项目并尝试执行相同的操作,它似乎执行并且我将获得控制台输出:
Buildfile: D:\Eclipse_Juno_SR1_OTP\opentripplanner-pojos-unversioned\commentOutXmlAnnotations.xml
commentOutXmlAnnotations:
BUILD SUCCESSFUL
Total time: 302 milliseconds
但子目录中的.java文件的内容不会更改。我认为这与Maven项目目录设置有关。
如何在Eclipse Maven项目中将project / ant脚本配置为在其放置的同一目录中执行?
答案 0 :(得分:0)
所以,愚蠢的错误。
上面的脚本只搜索一个目录深度,所以看起来脚本没有任何影响,因为所有java文件的包名都长于一个目录。
要搜索多个级别的所有子目录,fileset
元素应为:
<fileset dir="." >
<include name="**/*.java" />
</fileset>