I want to know how one can compress javascriptfiles using maven. I have lready visited webistes like http://mojohaus.org/javascript-maven-tools/guide-webapp-development.ht
The best and the most advanced one I found till today is wro4j. The idea for the library and the Maven plugin is different from everything I was able to find on the internet, combining pretty much every tool available into one standalone library. Amazing.
You have two modes with wro4j available - first is to operate dynamically as a filter in Java application, second is to use build-time solution with Maven plugin. It's all really straightforward and well explained on the project documentation section, so take a look and dive deep. There are fully operational and well explained examples on how to integrate wro4j with one's application or with Maven build process.
I suggest using the YUI Compressor Maven Mojo and its yuicompressor:compress goal instead. It is well documented, it just works.
To use it, add the following pluginRepository
:
<pluginRepositories>
<pluginRepository>
<name>oss.sonatype.org - github-releases</name>
<id>oss.sonatype.org-github-releases</id>
<url>http://oss.sonatype.org/content/repositories/github-releases</url>
</pluginRepository>
</pluginRepositories>
And declare the plugin:
<project>
...
<build>
<!-- To define the plugin version in your parent POM -->
<pluginManagement>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>0.9</version>
</plugin>
...
</plugins>
</pluginManagement>
<!-- To use the plugin goals in your POM or parent POM -->
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
...
</project>
Refer to the Usage page and the parameters of yuicompressor:compress for precise configuration.
You can look at cactus maven plugin