Изменить Jaxb-сгенерированную кодировку файлов для каждого проекта (не maven) в Netbeans - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть следующая проблема:

У меня есть non maven проект в NetBeans 8.2 с utf-8 кодировкой

(как показано - щелчок правой кнопкой мыши по свойствам проекта).

В проекте я создал JaxB xml bindig, поэтому некоторые источники генерируются в папке generated.

Тем не менее, источники не используют utf-8, и поэтому я получил

ошибка: не отображаемый символ для кодировки UTF-8

если я попытаюсь скомпилировать.

Если я изменю значение netbeans_default_options in (netbeans etc\netbeans.conf), чтобы оно содержало строку -J-Dfile.encoding=UTF-8, проблема для конкретного проекта решена - все компилируется нормально.

Но это ломает остальные мои проекты, которые не utf-8.

Я ищу решение, которое не повлияет на остальные мои проекты.

Спасибо.

1 Ответ

0 голосов
/ 19 ноября 2018

Решением было добавление следующего

<arg value="-encoding"/>
<arg value="UTF-8"/>

в ant-скрипт внутри xml_binding_build

, чтобы результирующий xjc выглядел следующим образом

<xjc package="mypackage" destdir="build/generated/jaxbCache/mypackage" catalog="catalog.xml">
            <classpath>
                <pathelement location="${src.dir}"/>
                <pathelement path="${jaxbwiz.xjcrun.classpath}"/>
            </classpath>
            <arg value="-xmlschema"/>
            <arg value="-encoding"/>
            <arg value="UTF-8"/>
            <schema file="xml-resources/jaxb/mypackage/mypackage.xsd"/>
            <depends file="xml-resources/jaxb/mypackage/mypackage.xsd"/>
            <produces dir="build/generated/jaxbCache/mypackage"/>
</xjc>

Конечно, xml_binding_build.xml генерируется (автоматически) и обычно не должен редактироваться вручную.

Однако этого рабочего места мне достаточно, и это лучше, чем конвертировать каждый проект в utf-8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...