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"设置。我也试过嵌套的方法,但是没有效果。

任何想法?

这可能不是您期望的答案,但我的建议是从方法和类的名称中删除所有非ascii字母。我也讲法语,我从来没有见过任何公司,即使在法国,使用法语作为开发语言,在类名和方法中接受重音字母。这不是一个好的实践,因为对于一个非法语的开发人员来说,使用这些类和方法是非常困难的,因为他的键盘上没有口音。

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

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

最新更新