Maven: Как настроить native2ascii-maven-plugin
Я уволил этот вопрос у вас, ребята, поскольку сама страница проекта не имеет большого количества информации.
В основном, я устанавливаю плагин native2ascii-maven для обработки некоторых моих ресурсов. Он отлично работает для обработки файлов в корневом каталоге. Но теперь у меня есть файлы в подкаталоге: /template/email/
и хотели бы, чтобы они были включены в обработку. Можете ли вы, ребята, помочь мне?
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>native2ascii-maven-plugin</artifactId>
<version>1.0-alpha-1</version>
<configuration>
<dest>target/resources</dest>
<src>src/main/resources</src>
</configuration>
<executions>
<execution>
<id>native2ascii-utf8</id>
<goals>
<goal>native2ascii</goal>
</goals>
<configuration>
<encoding>UTF8</encoding>
<includes>ApplicationResources*.properties, errors.properties, /template/email/newBooking*.ftl</includes>
</configuration>
</execution>
</executions>
</plugin>
Спасибо, куча!!
Ответы
Ответ 1
Вам нужно определить раздел выполнения для каждой папки, которую вы хотите обработать, и переместить src и dest в исполняющую часть:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>native2ascii-maven-plugin</artifactId>
<version>1.0-alpha-1</version>
<executions>
<execution>
<id>native2ascii-utf8-resources</id>
<goals>
<goal>native2ascii</goal>
</goals>
<configuration>
<dest>target/resources</dest>
<src>src/main/resources</src>
<encoding>UTF8</encoding>
<includes>ApplicationResources*.properties, errors.properties, /template/email/newBooking*.ftl</includes>
</configuration>
</execution>
<execution>
<id>native2ascii-utf8-email</id>
<goals>
<goal>native2ascii</goal>
</goals>
<configuration>
<dest>target/resources/email</dest>
<src>src/main/templates/email</src>
<encoding>UTF8</encoding>
</configuration>
</execution>
</executions>
</plugin>
Ответ 2
Вот решение для "native2ascii". Все файлы (рекурсивно), найденные в src/main/locale
, предназначены для target/classes
:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>native2ascii-maven-plugin</artifactId>
<version>1.0-alpha-1</version>
<executions>
<execution>
<goals>
<goal>native2ascii</goal>
</goals>
<configuration>
<encoding>UTF8</encoding>
<src>src/main/locale</src>
<dest>target/classes</dest>
</configuration>
</execution>
</executions>
</plugin>
[...]
Ответ 3
Вот пример конфигурации для версии 1.0-beta-1:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>native2ascii-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<executions>
<execution>
<id>native2ascii-utf8-resources</id>
<phase>process-classes</phase>
<goals>
<goal>native2ascii</goal>
</goals>
<configuration>
<workDir>src/main/resources</workDir>
<encoding>UTF8</encoding>
<tempDir>${basedir}/temp</tempDir>
<includes>
<include>**/*_fa.properties</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
В случае ошибки вы можете проверить исходный код плагина здесь.
Ответ 4
Недавно я создал еще одну версию плагина native2ascii maven, который охватывает использование как старых версий, так и содержит файлы XML, используемые плагином m2e Eclipse: https://github.com/dmatej/native2ascii/releases
Мне нужно заставить кого-то поместить его в официальные репозитории maven... но вы все равно можете использовать его в своих собственных.
Ответ 5
Недостатком в 1.0-beta-1 является подход с workDir.
Я не хочу менять исходный код в каждой сборке, но мне по-прежнему нужен какой-то инструмент для обеспечения анонимности unicode для моих файлов свойств.
Итак, я решил проблему с двумя настройками:
- Задайте workDir для целевой цели проекта;
-
Измените фазу на что-то после технологических ресурсов;
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>native2ascii-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<executions>
<execution>
<id>native2ascii-utf8-i18n</id>
<phase>compile</phase>
<goals>
<goal>native2ascii</goal>
</goals>
<configuration>
<workDir>target/classes/i18n</workDir>
<encoding>${project.build.sourceEncoding}</encoding>
<includes>
<include>**/*.properties</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
Я использовал фазу 'compile', так как внутри IDE я использую больше всего.