Есть ли плагин Maven, который просто объединяет js и css-ресурсы, но не делает каких-либо изменений, обструкции, сжатия и т.д.? Простое конкатенация ресурсов.
Файлы Javascript и CSS, объединенные в Maven build БЕЗ сжатия, минимизации и т.д.
Ответ 1
Внесите следующие изменения в свой проект:
-
В тэге pom.xml,
<dependencies>
поместите:<!-- JAVASCRIPT COMBINATION --> <dependency> <groupId>ro.isdc.wro4j</groupId> <artifactId>wro4j-core</artifactId> </dependency>
-
В теге pom.xml,
<plugins>
поместите:<plugin> <groupId>ro.isdc.wro4j</groupId> <artifactId>wro4j-maven-plugin</artifactId> <version>1.4.3</version> <executions> <execution> <phase>process-resources</phase> <goals> <goal>run</goal> </goals> </execution> </executions> <configuration> <targetGroups>allDev</targetGroups> <destinationFolder>${basedir}/src/main/webapp/</destinationFolder> <contextFolder>${basedir}/src/main/webapp/</contextFolder> </configuration> </plugin>
-
В pom.xml (или родительском теге pom.xml)
<dependencyManagement>
поместите:<!-- JAVASCRIPT COMBINATION --> <dependency> <groupId>ro.isdc.wro4j</groupId> <artifactId>wro4j-core</artifactId> <version>1.8.0</version> </dependency>
-
Создайте wro.xml под
/project/src/main/webapp/WEB-INF
и поместите что-то вроде следующего:<?xml version="1.0" encoding="UTF-8"?> <groups xmlns="http://www.isdc.ro/wro"> <group name="allDev"> <js minimize="false">/my1stJsFolder/*.js</js> <js minimize="false">/my2ndJsFolder/*.js</js> <js minimize="false">/someFileDirectlyUnderWEBINF.js</js> </group> </groups>
-
В web.xml вставить:
<filter> <filter-name>WebResourceOptimizer</filter-name> <filter-class>ro.isdc.wro.http.WroFilter</filter-class> </filter> <filter-mapping> <filter-name>WebResourceOptimizer</filter-name> <url-pattern>/wro/*</url-pattern> </filter-mapping>
allDev.js будет создан в /project/src/main/webapp
.
Я еще не уверен, как я могу сказать, что wro4j генерирует только один объект (теперь у вас есть два - один в исходных файлах проекта и один в целевом).
При сжатии с помощью плагина yui я получаю только один объект. Но это не должно быть для вас большой проблемой.
Подробнее:
- https://code.google.com/p/wro4j/wiki/GettingStarted
- https://code.google.com/p/wro4j/wiki/MavenPlugin
- http://www.jarvana.com/jarvana/search?search_type=project&project=wro4j-maven-plugin
ДОПОЛНИТЕЛЬНО:
Если у вас возникли проблемы с обработкой ресурсов, добавьте в тег <build>
:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
А также <plugins>
добавить
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
<nonFilteredFileExtension>swf</nonFilteredFileExtension>
<nonFilteredFileExtension>jpg</nonFilteredFileExtension>
<nonFilteredFileExtension>jpeg</nonFilteredFileExtension>
<nonFilteredFileExtension>class</nonFilteredFileExtension>
<nonFilteredFileExtension>jks</nonFilteredFileExtension>
<nonFilteredFileExtension>exe</nonFilteredFileExtension>
<nonFilteredFileExtension>wmv</nonFilteredFileExtension>
<nonFilteredFileExtension>jar</nonFilteredFileExtension>
<nonFilteredFileExtension>zip</nonFilteredFileExtension>
<nonFilteredFileExtension>gz</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
Ответ 2
Я думаю, что большинство инструментов позволят вам отключить минимизацию.
Вот еще одна пара, которая выглядит интересной:
Ответ 3
Выглядит правильно:
http://hammerfest.sourceforge.net/maven-javascript-plugin/merge-mojo.html
Ответ 4
Я использовал YUI Compressor уже много лет. Используется для этого в ANT, но есть также плагин maven. Следующая ссылка является примером агрегации:
http://alchim.sourceforge.net/yuicompressor-maven-plugin/ex_aggregation.html