Maven: как настроить native2ascii-maven-plugin - PullRequest
12 голосов
/ 18 августа 2011

Я задаю вам этот вопрос, ребята, поскольку на самой странице проекта не так много информации.По сути, я настраиваю native2ascii-maven-plugin для обработки некоторых моих ресурсов.Он отлично работает для обработки файлов в корневом каталоге.Но теперь у меня есть файлы в подкаталоге: /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>

Спасибо большое !!

Ответы [ 6 ]

6 голосов
/ 18 августа 2011

Вам необходимо определить раздел выполнения для каждой папки, которую вы хотите обработать, и переместить 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>
4 голосов
/ 12 октября 2011

Вот решение для "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>
            [...]
2 голосов
/ 28 февраля 2016

Вот пример конфигурации для версии 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>

В случае ошибки вы можете проверить исходный код плагина здесь .

0 голосов
/ 13 сентября 2018

Вот пример конфигурации для версии 2.0 +

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>native2ascii-maven-plugin</artifactId>
    <version>2.0.1</version>
    <executions>
        <execution>
            <id>native2ascii-utf8-properties</id>
            <phase>process-resources</phase> 
            <goals>
                <goal>inplace</goal>
            </goals>
            <configuration>
                <dir>${project.build.directory}/classes</dir>
                <includes>**/*.properties</includes>
                <encoding>UTF-8</encoding>
            </configuration>
        </execution>
    </executions>
</plugin>
0 голосов
/ 05 августа 2016

Недостатком 1.0-бета-1 является подход с workDir .Я не хочу менять свой исходный код в каждой сборке, но мне все еще нужен какой-то инструмент для обеспечения юникодной аннотации к моим файлам свойств.

Так что я решил проблему с двумя настройками:

  1. Установите workDir в качестве цели вашего проекта;
  2. Измените фазу на что-то после ресурсов процесса;

    <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 я больше всего использую.

0 голосов
/ 30 октября 2014

Недавно я создал другую версию плагина native2ascii maven, которая охватывает использование обеих старых версий, а также содержит файлы XML, используемые плагином m2e Eclipse:официальные репозитории maven ... но вы все равно можете использовать его в своем собственном.

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