这是因为:由于JDK是国际版的,在编译的时候,如果我们没有用-encoding参数指定我们的JAVA源程序的编码格式,则javac.exe首先获得我们操作系统默认采用的编码格式,也即在编译java程序时,若我们不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如WIN2k,它的值为GBK),然后JDK就把我们的java源程序从file.encoding编码格式转化为JAVA内部默认的UNICODE格式放入内存中。然后,javac把转换后的unicode格式的文件进行编译成.class类文件,此时.class文件是UNICODE编码的,它暂放在内存中,紧接着,JDK将此以UNICODE编码的编译后的class文件保存到我们的操作系统中形成我们见到的.class文件。对我们来说,我们最终获得的.class文件是内容以UNICODE编码格式保存的类文件,它内部包含我们源程序中的中文字符串,只不过此时它己经由file.encoding格式转化为UNICODE格式了。当我们不加设置就编译时,相当于使用了参数:javac -encoding gbk XX.java,当然就会出现不兼容的情况。
1.怎么处理警告:编码 GBK 的不可映射字符?
在javac中加上 <compilerarg line="-encoding UTF-8 "/>
<javac srcdir="${src.dir}" destdir="${classes.dir}" debug="true">
<compilerarg line="-encoding UTF-8 "/>
<classpath refid="project.classpath" />
</javac>
2.在项目中曾经碰到用ant编译验证码出不来?可是直接用myeclipse就ok
后来才发现是少了:
commons-validator.jar,
antlr.jar,
commons-beanutils.jar,
commons-digester.jar,
commons-fileupload.jar,
commons-logging.jar,
jakarta-oro.jar
struts.jar
这几个包!在myeclipse下的sturct下有这几个包!拷到lib下就OK了!
3.在项目中曾经碰到用ant编译提示用javax.servlet找不到?可是直接用myeclipse就ok
直接找到javax.servlet.jar拷到lib下就OK了!
分享到:
相关推荐
ant打包时编码 GBK 的不可映射字符 原因:这个主要是因为我们在写代码的时候加入了一些中文注释,而导致编译时候出现的问题。 解决方式:要处理这个问题,仅仅只需要在 build.xml文件中的调用javac的所有地方加入...
使用Ant编译打包
ant脚本编译出jar
Ant编译后的zookeeper源码 版本:zookeeper-release-3.4.11、apache-ant-1.9.14 可直接导入eclipse或idea
ant 编译jar包
NULL 博文链接:https://yzz9i.iteye.com/blog/1580020
介绍了如何通过ant进行java web工程的编译操作的详细配置
ant编译时抛出OutOfMemoryError.doc
作为apache下的一个编译工具,可以用来编译一些较大的java web项目,简单实用方便!
Ant编译环境配置 文章《使用ant编译之签名问题》的相关资料。主要讲一些Ant编译问题。
使用ant编译打包应用程序,比较简单,适合初学者。
Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。
本文档中的内容多是从实际开发中总结出来的。 ANT 最佳实践 http://www.ossez.com/forum.php?mod=viewthread&tid=13460&fromuid=426
直接使用flex的sdk生成swc文件,很繁琐,而且对于大项目来说,是个头痛的事情。ant在对java打包生成jar时,它优良的设计显露无疑,这里我们使用它,来生成swc,完成项目编译打包。
适合在ant下进行编译的工具,以及一些checkstyle,方便实用
在编译flex/java工程是采用Ant自动编译,将编译好的工程进行打包发布.
准备工作: 1、安装 ant:把 ant 解压到本地硬盘 c:\ant 2、设置环境变量:ANT_HOME:c:\ant 。 PATH:在原来的 PATH 开头加上 c:\ant\bin; 3、一个 ant 项目目录结构: c:\HelloWorld :项目主目录 \src :源...
Ant 编译 多目录demo,同时编译多个目录的Ant demo代码。
后来我了解了javac命令和下字节码的知识。分析如下:Ant的debug和debuglevel参数会去调用JDK的javac ...所以,我们用javac -g参数或者用Ant的编译类可以读出方法参数名,而编译接口就不能读出,仍然是arg0,arg1的形式。
ant编译staf插件