ANT Javac и специальные символы - PullRequest
0 голосов
/ 14 октября 2011

У меня задание 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 ]

1 голос
/ 14 октября 2011

Возможно, это не тот ответ, который вы ожидаете, но я бы посоветовал удалить все буквы, не относящиеся к ascii, из названий методов и классов.Я тоже говорю по-французски, и я никогда не видел ни одной компании, даже во Франции, использующей французский в качестве языка разработки, принимающей акцентированные буквы в именах классов и методах.Это просто не очень хорошая практика, просто потому что не французскому разработчику было бы очень трудно использовать эти классы и методы без акцентов на клавиатуре.

Если вы используете хорошую IDE, это должно позволить вамлегко рефакторинг вашего кода.

0 голосов
/ 08 ноября 2011

Apache подтвердил, что атрибут кодировки применяется только к содержимому файла, а не к именам файлов. Я вернулся к использованию fork только при необходимости и сохранил кодировку = "UTF-8".

...