`
pcpig
  • 浏览: 87332 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用ant过程所遇问题总结

阅读更多

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

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics