головоломки компиляции maven - PullRequest
2 голосов
/ 01 апреля 2012

Хорошо, я сбит с толку, Я получаю следующую ошибку компиляции

.../Currency.java:[16,60] unmappable character for encoding ASCII

Я установил кодировку в настройках Maven Conf, используя

<properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<properties>

здесь вывод сборки

[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting directory /export/jenkins_slave/workspace/Agent-Transfer/repo/foo-bar-   api/target
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 10 resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 59 source files to /export/jenkins_slave/workspace/Agent- Transfer/repo/foo-bar-api/target/classes
[JENKINS] Archiving /export/jenkins_slave/workspace/Agent-Transfer/repo/foo-bar-  api/pom.xml to /export/ciserver/.hudson/jobs/Agent-Transfer/modules/com.cdc$foo-bar-  api/builds/2012-03-31_14-49-02/archive/com.cdc/foo-bar-api/Agent-Transfer-SNAPSHOT/foo-bar-  api-Agent-Transfer-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

/export/jenkins_slave/workspace/Agent-Transfer/repo/foo-bar-api/src/main/java/com/cdc/games/domain/Currency.java:[16,60] unmappable character for encoding ASCII

Я знаю, что кодировка выбирается из файла settings.xml, потому что, если я удаляю ее, получаю предупреждение о кодировке

[WARNING] Using platform encoding (ISO8859-1 actually) to copy filtered resources, i.e. build is platform dependent!

Проблема только в том, что из вышеприведенного выхода видно, что это влияет на ресурсы: ресурсы, а не на компиляцию: компиляцию. Я ожидал от описания на вики , чтобы это кодировало файлы .java

Как вы можете видеть, я строю это на ведомом устройстве, на главном, которое оно создает даже с предупреждением о кодировании, но я думаю, это потому, что кодировка платформы отличается. Я мог бы изменить это на ведомом устройстве, но я бы предпочел не делать этого, поскольку хочу, чтобы сборки были переносимыми

Ответы [ 4 ]

0 голосов
/ 10 марта 2014

Полагаю, у вас это работает, потому что прошел год ... но в

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<properties>

Это последнее неверно. Должно быть </properties>, верно?

0 голосов
/ 15 декабря 2012

Я сталкивался с одной и той же проблемой пару раз, поддерживая несколько экземпляров hudson / jenkins. В моем случае оказалось, что для LANG env var явно не задано значение en_US.UTF-8 в конфигурации hudson / jenkins .

Как только я установил глобальную переменную окружения для установки hudson / jenkins, мои java-файлы, содержащие символы юникода, перестали выдавать ошибку.

0 голосов
/ 13 мая 2013

попробуйте это

    <properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <project.resources.sourceEncoding>UTF-8</project.resources.sourceEncoding>
</properties>

            <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <encoding>${project.build.sourceEncoding}</encoding>
                <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
            </configuration>
        </plugin>

источник

и в вашем server.xml

     <Connector port="8080" URIEncoding="UTF-8"/> 
0 голосов
/ 01 апреля 2012

Может быть, вы используете редактор, который не распознает кодировку символов Mavens, когда вы печатаете, и он берет какую-то другую платформу или кодировку, зависящую от редактора?Это может выглядеть правильно в редакторе, но кажется, что какой-то странный персонаж случайно проник в код.Вы пытались удалить строку 16 в классе Currency.java и переписать ее (без использования функции копирования / вставки)?

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