2010-11-19 3 views
1

Как указать (или «принудительно») плагин maven jar для использования моей конкретной кодировки (UTF-8)?Maven Jar Encoding Problem

Моя сборка плагина:

<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-jar-plugin</artifactId> 
<version>2.3.1</version> 
<executions> 
<execution> 
    <phase>package</phase> 
    <id>configurations-test</id> 
    <goals> 
    <goal>jar</goal> 
    </goals> 
    <configuration> 
    <classesDirectory>target/test</classesDirectory> 
    <forceCreation>true</forceCreation> 
    <finalName>${artifactId}-test</finalName> 
    </excludes> 
    </configuration> 
</execution> 
</executions></plugin> 

я установить кодировку в родительском ПОМ и каждые копии выполняется с правой кодировкой

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

Я контролировал файлы только до создания Jar, они хорошо сформированы.

Заметьте, я много пытался addind конкретных кодирования конфигурации, но она по-прежнему не будет работать, в моих упакованных Кувшинов я нашел себя плохо отформатированные символы (например, ©, который должен быть Шахматный)

распакованные файлы (html, xml, properties и т. д.) содержит такие символы, как Ã © вместо é.

+0

Что вы имеете в виду, что вы нашли символы в вашем сотрясать? В каком файле на вашей банке? Класс? XML? Имущество? имена файлов файлов в банке? – bmargulies

+0

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

+0

Распакованные файлы (html, xml, properties и т. Д.) Содержат такие символы, как Ã © вместо é –

ответ

0

jar не испортит ваши файлы. Он просто копирует байты. С другой стороны, плагин ресурсов может.

Вам необходимо установить ${project.build.sourceEncoding}.

См. http://maven.apache.org/plugins/maven-resources-plugin/copy-resources-mojo.html.

+0

$ {project.build.sourceEncoding}. копии-ресурсы работают хорошо, файлы хорошо отформатированы. в моем примере, в target/test файлы верны, но в результатах jar заархивированные файлы ошибочны. –

+0

Понятно, что некоторые файлы по-прежнему кодируются как ISO-8859-1 в репозитории. Я должен найти их, изменить кодировку на UTF-8, и все будет хорошо –

+0

Прошу прощения, я неправильно читаю свойство как отличающееся от того, которое вы установили, а не то же самое. – bmargulies

0

указать кодировку UTF свойства:

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

быть предупрежден, я испытал следующее сообщение об ошибке при использовании кодировки UTF развертывания на WLS 10.3.6, не уверен, что другие.

java.lang.UnsupportedOperationException: неподдерживаемый тип архива: застежка-молния:/оракул/fmwhome/user_projects/домены/dev_soa_osb/серверов/AdminServer/TMP/_WL_user/myicarus-201609261658/131q4y/война/WEB-INF/Библиотека/dummybean-весна-1.0.0.jar! /.

не знает, как настроить WLS читать Utf застежку-молнию

так что теперь я использую ASCII как кодирование, и WLS не жалуется