Maven YUI Compressor Plugin Приводит к тому, что фаза ресурсов процесса не работает - PullRequest
2 голосов
/ 04 января 2011

У меня есть проект maven, который создает файл войны.

Включение компрессора yui в мой файл сборки maven приводит к тому, что файлы, найденные в src / main / resources /, не связанные с какими-либо js-файлами, обрабатываются во время процесса-ресурсов и становятся пустыми при копировании в целевой каталог. Очень странно, действительно. Как только плагин yuicompressor удаляется из цикла, остальные ресурсы обрабатываются очень хорошо.

Кто-нибудь когда-либо видел это (пожалуйста, скажите да ;-))?

Вот мой конфиг:

Конфигурация YUI Compressor:

<plugin>
            <groupId>net.alchim31.maven</groupId>
            <artifactId>yuicompressor-maven-plugin</artifactId>
            <version>1.1</version>
            <executions>
                <execution>
                    <goals>
                        <goal>compress</goal>
                    </goals>
                    <phase>process-resources</phase>
                </execution>
            </executions>
            <configuration>
                <excludes>
                    <exclude>**/extjs*/**/*.js</exclude>
                    <exclude>**/extjs*/**/*.css</exclude>
                </excludes>
                <nosuffix>true</nosuffix>
            </configuration>
        </plugin>

И конфигурация ресурсов, содержащая файлы, которые являются пустыми при копировании в целевой каталог:

<resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <includes>
              <include>**/*.properties</include>
              <include>**/*.xml</include>
            </includes>
        </resource>
    </resources>

Повторюсь: файлы (log4j.xml и т. Д.) В каталоге ресурсов копируются в целевой каталог, но они пусты.

Спасибо за вашу помощь!

1 Ответ

1 голос
/ 04 января 2011

Происходит то, что плагин YUI Compressor имеет каталог ресурсов в качестве одного из мест для включения неявного сжатия. Он запускался после запуска плагина ресурсов, перезаписывая файлы xml и .properties в каталоге ресурсов пустыми файлами (поскольку файлы xml и .properties не содержат javascript). Мое исправление заключалось в добавлении новых исключений в конфигурацию плагина:

  <excludes>
                    <exclude>**/*.xml</exclude> <!-- <-- this one here -->
                    <exclude>**/*.properties</exclude> <!-- <-- and this one -->
                    <exclude>**/extjs*/**/*.js</exclude>
                    <exclude>**/extjs*/**/*.css</exclude>
                </excludes>

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

Я пытался это исключить, но это не сработало:

<exclude>**/resources/*.*</exclude>

Кто-нибудь знает, почему вышеприведенное не сработает, или как подсказать плагину yui , а не , что-либо обрабатывать в ресурсах?

...