Skip to content

Free and Open Source Java project which brings together almost all the modern web tools: JsHint, CssLint, JsMin, Google Closure compressor, YUI Compressor, UglifyJs, Dojo Shrinksafe, Css Variables Support, JSON Compression, Less, Sass, CoffeeScript and much more. In the same time, the aim is to keep it as simple as possible and as extensible as …

License

wro4j/wro4j

Repository files navigation

Web Resource Optimizer for Java

Join the chat at https://gitter.im/wro4j/wro4j Build Status Coverage Status Maven Central Stories in Ready

Wro4j is a free and Open Source Java project which will help you to easily improve your web application page loading time. It can help you to keep your static resources (js & css) well organized, merge & minify them at run-time (using a simple filter) or build-time (using maven plugin) and has a dozen of features you may find useful when dealing with web resources.

Getting Started

Wro4j has 2 possible operating modes:

  • Runtime solution - the resources are processed lazily after the first request. Assuming you have defined 100 groups and only one is requested, the remaining 99 won't be processed.
  • Build time solution - the resources are processed when the application is built. You are in control of defining what groups should be generated (either all of them or only a subset enumerated in configuration).

If what you need is to have all resources available during application startup, then probably using a build-time solution (Maven plugin) is the best suited for you. Alternatively, you could use the runtime solution and explicitly perform requests for all the groups after application startup.

In order to get started with Wro4j's runtime solution, you have to follow only 3 simple steps.

Step 1: Add WroFilter to 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>

Step 2: Create wro.xml

<groups xmlns="http://www.isdc.ro/wro">
  <group name="all">
    <css>/asset/*.css</css>
    <js>/asset/*.js</js>
  </group>
</groups>

Step 3: Use optimized resources

<html>
  <head>
    <title>Web Page using wro4j</title>
    <link rel="stylesheet" type="text/css" href="/wro/all.css" />
    <script type="text/javascript" src="/wro/all.js"/>
  </head>
  <body>
    <!-- Insert body of your page here -->
  </body>
</html>

Documentation

The documentation for this project is located here

Issues

Found a bug? Report it to the issue tracker

Feedback

If you have any questions or suggestions, please feel free to post a comment to the discussion group

Follow us on Twitter.

License

This project is available under the Apache License, Version 2.0.

About

Free and Open Source Java project which brings together almost all the modern web tools: JsHint, CssLint, JsMin, Google Closure compressor, YUI Compressor, UglifyJs, Dojo Shrinksafe, Css Variables Support, JSON Compression, Less, Sass, CoffeeScript and much more. In the same time, the aim is to keep it as simple as possible and as extensible as …

Resources

License

Stars

Watchers

Forks

Packages

No packages published