关于ANT的两个问题,希望高手能够指教
1.通过ANT能否设置环境变量?该变量将在JAVA代码中读取?
例如:通过ANT设置环境变量key=value ,然后ANT编译打包发布运行JAVA程序,该JAVA程序中用读取并利用key的值即value?2.如何通过ANT把一个文件夹下的的文件名局部改名?
例如:一个文件夹下有三个文件A123B.txt、B123C.txt、C123D.txt 如何能够将这三个文件重命名为A321B.txt、B321C.txt、C321D.txt?
1.通过ANT能否设置环境变量?该变量将在JAVA代码中读取?
例如:通过ANT设置环境变量key=value ,然后ANT编译打包发布运行JAVA程序,该JAVA程序中用读取并利用key的值即value?2.如何通过ANT把一个文件夹下的的文件名局部改名?
例如:一个文件夹下有三个文件A123B.txt、B123C.txt、C123D.txt 如何能够将这三个文件重命名为A321B.txt、B321C.txt、C321D.txt?
-- 用property 文件代替不可以吗?问题2
-- 先 copy 然后 delete
-- <copy file="src/Test.java" tofile = "src/TestCopy.java"/> 然后 <delete dir="src/Test.java" />或者 <move file="src/Test.java" tofile = "src/TestCopy.java"/>
问题2,这个好像只能自己编程改吧,没用过它的批量改名,你试一下用ant运行dos命令ren a*.abc b*.abc看看,不知道好不好用,没试过
<include name="*.txt"/>
</fileset> <target name="something">
<script language="javascript">
<![CDATA[
echo = project.createTask("echo");
rootDir = project.getProperty("build.root");
echo.setMessage("Processing " + rootDir + " ...");
echo.execute(); setup_fs.setDir(new File(rootDir));
ds = setup_fs.getDirectoryScanner(project);
srcFiles = ds.getIncludedFiles();
for (i=0; i < srcFiles.length; i++) {
echo.setMessage("rename " + srcFiles[i] + " to ...\r\n");
echo.execute();
// 这里可以做你的 rename 操作
// ……
}
]]>
</script>
</target>
<include name="*.txt"/>
</fileset> <target name="something">
<script language="javascript">
<![CDATA[
echo = project.createTask("echo");
rootDir = project.getProperty("build.root");
echo.setMessage("Processing " + rootDir + " ...");
echo.execute(); importClass(java.io.File); // 刚才漏掉了这句 setup_fs.setDir(new File(rootDir));
ds = setup_fs.getDirectoryScanner(project);
srcFiles = ds.getIncludedFiles();
for (i=0; i < srcFiles.length; i++) {
echo.setMessage("rename " + srcFiles[i] + " to ...\r\n");
echo.execute();
// 这里可以做你的 rename 操作
// ……
}
]]>
</script>
</target>
公司同事给出下面的答案:
1。无解
2。<project name="helloapp" default="clean" basedir=".">
<property file="build.properties"/>
<target name="clean">
<delete dir="${dest.dir}"/>
</target>
<target name="copy" depends="clean">
<copy todir="${dest.dir}">
<fileset dir="${src.dir}"/>
<mapper type="regexp" from="^(.*)1701(.*)$" to="\11802\2"/>
</copy>
</target></project>