1、fileSet中目录/文件的用法:
若是“appgen”,则只会拷贝名为appgen的空目录过去,它里面的文件和子目录则不会拷贝。?
若是“appgen/”,或“appgen/**”,则会把整个appgen目录拷贝过去,包括里面的文件和子目录。?
若是“appgen/*”,则只会把该目录和该目录下第一级子目录的所有东西拷贝过去,而不会拷贝第二级和第二级以下的。注:“appgen/*”这儿是一个*号,*号若大于两个,也跟一个*号是同样效果。比如“appgen/*”和“appgen/****”都只拷贝appgen目录下第一级子目录。?
?
注:若appeng这个目录本身就是个空目录,无论怎么写,这个空目录都不会被拷贝。也就是说,copy操作不会产生创建空目录的作用,要想创建空目录,只有用mkdir。?
参考:http://chenjia66804610.iteye.com/blog/421370
?
2、build.xml中获取jar包列表,通常用于在MANIFEST.MF中标明classpath。
?
<pathconvert property="libs.project" pathsep=" "> <mapper> <chainedmapper> <flattenmapper /> <globmapper from="*" to="lib/*" /> </chainedmapper> </mapper> <path> <fileset dir="lib"> <include name="**/*.jar" /> </fileset> </path> </pathconvert>
?
?调用时
?<attribute name="Class-Path" value="${libs.project}" />
参考:《HOWTO Create MANIFEST.MF Classpath From Ant》http://martin.ankerl.com/2005/11/30/howto-create-manifestmf-classpath-from-ant/#
?
3、编译java时出现“需要为 class、interface 或 enum”
? ? ?通常是编译时采用的编码和代码本身的编码不符,编译时指定编码编译即可解决。javac -encoding utf8 *.java
?
?
?
?