这是因为:由于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,当然就会出现不兼容的情况
需要个javac指定编码,于是在build.xml中加入以下说明即可:
<target name="compile" depends="prepare" description="编绎">
<javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="on" deprecation="on" optimize="off" includes="**">
<!--给编译器指定编码,防止出现:"警告: 编码 GBK 的不可映射字符"-->
<compilerarg line="-encoding UTF-8 "/>
<classpath refid="build.classpath" />
</javac>
</target>
分享到:
相关推荐
### ant打包时编码 GBK 的不可映射字符 #### 背景介绍 在软件开发过程中,使用构建工具如Ant来自动化编译、打包等任务是十分常见的做法。但是,在处理包含非ASCII字符(例如中文)的源代码时,可能会遇到字符编码...
标题“Ant编译utf-8非法字符:\\65279”涉及到的是在使用Apache Ant工具进行Java项目编译时遇到的一个字符编码问题。Ant是Java开发中的一个构建工具,它通过XML定义的构建文件来自动化构建过程,如编译、打包、测试...
Apache Ant 编译命令总结 Apache Ant 是一个基于 Java 的生成工具,主要用来将源代码和其他输入文件转换为可执行文件的形式,或者转换为可安装的产品映像形式。Ant 在软件开发中扮演着重要角色,确保在每次生成期间...
Ant使用XML来描述构建过程,包括编译、测试、打包和部署等任务,使得开发者能够通过简单的脚本进行项目构建,而无需深入理解复杂的命令行语法。 **一、Ant的安装与配置** 1. **下载与解压**:首先,你需要从Apache...
在Java开发过程中,打包和部署是必不可少的环节,而`Ant`作为一个强大的构建工具,能够帮助我们自动化这些任务。本文将深入探讨如何使用`Ant`脚本来编译并创建一个`JAR`文件,以此来理解`Ant`脚本的工作原理和实际...
Apache Ant是Java开发中不可或缺的自动化构建工具,它在软件工程领域扮演着重要角色,尤其在构建、测试和部署过程中。Ant以其XML为基础的构建文件(通常命名为build.xml)著称,这种文件定义了项目构建的各个任务和...
在编译Java项目时,Ant使用`<javac>`任务来编译源代码。你需要指定源代码目录(srcdir)、编译后的输出目录(destdir),以及任何需要的类路径(classpath)。例如: ```xml ``` 接下来,我们可以创建...
在这个案例中,使用Apache Ant 1.9.14对ZooKeeper进行了编译,生成了可供开发者进一步研究和使用的源码。 导入Eclipse或IntelliJ IDEA是为了便于Java开发者进行代码浏览、调试和开发工作。Eclipse是一款强大的开源...
标题 "ant编译java工程" 涉及到的是使用Apache Ant工具来构建Java应用程序的过程。Apache Ant是一个基于XML的构建工具,它允许开发者通过声明式的方式定义项目构建任务,而不是采用程序化的方式。在Java开发中,Ant...
介绍了如何通过ant进行java web工程的编译操作的详细配置
4. **编译源代码**:Ant使用`<javac>`任务来编译Java源代码。你需要指定源代码目录、输出目录以及任何必要的编译器选项。例如: ```xml ${src.dir}" destdir="${build.dir}"> **/*.jar"/> ``` 这将...
本文将深入探讨如何使用Ant工具来编译生成Flex的SWC文件,以此解决传统方式带来的繁琐和不便。 首先,让我们了解基本概念。`Ant`是一款由Apache软件基金会开发的Java构建工具,它基于XML编写构建脚本,可以跨平台...
Ant编译环境配置 文章《使用ant编译之签名问题》的相关资料。主要讲一些Ant编译问题。
### 使用Ant进行编译及其签名问题详解 #### 一、Ant编译技术概述 Ant是一种Java平台下的构建工具,主要用于自动化构建过程中的编译、测试、打包等任务。使用Ant进行编译相比于传统的Eclipse IDE编译有诸多优势,...
- **编写目的**:本文档旨在指导软件发布人员如何正确安装与配置Apache Ant,解决在安装与使用过程中可能遇到的问题,确保能够顺利地使用Ant对Flex/Java工程项目进行自动化编译与打包。 #### 二、环境说明 - **Ant...
在使用Apache Ant构建Java项目时,可能会遇到一个常见的问题,即`OutOfMemoryError`。这个错误通常发生在编译大量Java源文件时,由于资源耗尽,JVM无法分配足够的内存来执行任务。`OutOfMemoryError`是Java运行时...
Ant以其灵活性和可扩展性,通过XML格式的构建文件(build.xml)来定义任务,使得开发者能够自动化执行各种构建过程。 在Ant中,"标签"是构建文件的核心元素,它们定义了具体的任务和操作。例如,`<project>`标签是...
- 特殊情况下,若 `ant clean` 也失败,可尝试使用 `ant clear` 命令来彻底清理项目。 #### 五、其他注意事项 - **备注**:除了上述步骤外,还应确保 Android SDK 和 Build Tools 已经安装并配置正确。 - **常用...
在Java开发过程中,构建工具是不可或缺的一部分,它们帮助开发者自动化执行任务,如编译、测试、打包等。Ant是Apache组织提供的一款强大的构建工具,它使用XML来描述项目构建过程,具有灵活性和可扩展性。本篇将深入...