我正在尝试构建 Android Permission Explorer来自源代码。我使用 svn checkout http://android-permission-explorer.googlecode.com/svn/
进行了 checkout 。我在 checkout 项目后添加了一个基本的 build.xml
,然后放入终端:
$ /usr/local/bin/ant release
...
-compile:
[javac] Compiling 14 source files to .../android-permission-explorer/bin/classes
[javac] .../android-permission-explorer/src/com/carlocriniti/android/permission_explorer/ApplicationDetail.java:7: error: unmappable character for encoding UTF-8
[javac] * Activit� d'affichage du d�tail d'une application
...
错误是编码UTF-8时无法映射的字符
。
这是 ApplicationDetail.java
中的违规行(这对我来说毫无意义,因为它是一条注释):
/*
* Projet : Permission Explorer
* Auteur : Carlo Criniti
* Date : 2011.06.10
*
* Classe ApplicationDetail
* ActivitÈ d'affichage du dÈtail d'une application
* avec les permissions qu'elle utilise
*/
类似的错误还有很多。如果 /usr/local/bin/ant release 2>&1 | grep -i 错误 | wc -l
是准确的,那么就有 103 个。
问题:为什么评论中的字符会影响构建?
我已经阅读了 ant 的文档 Writing a Simple Buildfile和 Property Task ,但是该死的,如果我能弄清楚如何设置源文件语言。
问题:如何在 build.xml
中设置源文件语言?
最佳答案
即使它们在注释中,无效字符也会导致编译器错误:源代码通常在转换为字节码之前进行预处理,并且编译器刚刚遇到未映射到其的字符字符集。
最简单的方法是编辑源文件并以 UTF-8 编码保存。由于这是一条评论,因此删除该角色可能也没什么坏处。
关于java - 在注释中使用不可映射的字符构建项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28521122/