ANT Javac和特殊人物

时间:2011-10-14 13:33:14

标签: encoding ant javac

我有一个如此定义的ANT任务:

<javac source="1.5" target="1.5" srcdir="${src.dir}" destdir="${classes.dir}" deprecation="on" debug="on" classpathref="classpath" fork="true" memoryMaximumSize="512m" encoding="UTF-8">
        <include name="${app.directory}/**/*.java"/>
    </javac>

这很好用,但是当我的名字中有特殊字符的类时,会出现以下错误:

[iosession]     Compiling 131 source files to /C24/PUB/io-stds/trunk/standards/GSIT/build/test/deployment/build/classes
[iosession]     javac: file not found: /C24/PUB/io-stds/trunk/standards/GSIT/build/test/deployment/src/java/biz/c24/io/minos/AléaChiffréClass.java
[iosession]     Usage: javac <options> <source files>
[iosession]     use -help for a list of possible options
[iosession] Target compile finished
[iosession] 
[iosession] Building unsuccessful 2 seconds

当我删除“fork = true”时,它可以工作,但它忽略了“memoryMaximumSize”设置。我也尝试过嵌套方法,但无济于事。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

这可能不是你期望的答案,但我的建议是从方法和类的名称中删除所有非ascii字母。我也讲法语,我从未见过任何公司,即使在法国也使用法语作为其开发语言,在类名和方法中接受重音字母。这不是一个好习惯,仅仅因为对于非法语开发人员来说,如果没有键盘上的重音符号,就很难使用这些类和方法。

如果你使用一个好的IDE,它应该允许你轻松地重构你的代码。

答案 1 :(得分:0)

Apache确认编码属性仅适用于文件内容而不适用于文件名。我只在需要时恢复使用fork并保持编码=“UTF-8”。

相关问题