Allows easy syncing of a maven project with a servlet container
Java
Switch branches/tags
Latest commit eaff5c8 Jul 15, 2016 @Glamdring committed on GitHub Clarifying the way to reorder apps
Permalink
Failed to load latest commit information.
src #2 fixed default war name Jul 31, 2014
.gitignore bin Dec 6, 2013
LICENSE Initial commit Nov 5, 2013
README.md Clarifying the way to reorder apps Jul 15, 2016
pom.xml version up Dec 14, 2013

README.md

AardWARk

Allows easy syncing of a maven project with a servlet container. How?

  1. Put the aardwark.war file in your servlet container

  2. Rename the war file to aardwark-<path to project home>, with slashes replaced by dots. For example:

    aardwark-.home.workspace.hello-world would sync the project in /home/workspace/hello-world with the appropriate application within the web context The target application is chosen by examining the artifact name of your maven project.

    If that doesn't suit you (e.g. your projects have dots in their name) or you don't like the approach, you can put an aardwark.properties file in the webapps directory. The file should contain the paths to the target applications, each on a separate line.

  3. Start your servlet container - everything (classes, resources, jars) will be synced whenever you make a change in your IDE. Note: jar files will be synchronized only on startup and after a successful build of your maven project.

Note: Depending on the version of Tomcat (if using tomcat) you may have to define the order of loading of applications in server.xml,

<Host ...>
    <Context path="/aardwark-.workspace.foo"/>
    <Context path="/foo"/>
</Host>

The project is servlet-container-independent and IDE-independent.

Note: the purpose of the project is to sync the classes and resources of your projects between your workspace and the servlet container. Reloading the classes is beyond the scope of this project. For that to work you have a couple of options:

  • Regular HotSwap - simply run the servlet container in debug mode
  • Spring-loaded - a Spring-provided JVM agent that allows class reloading
  • DCEVM - a VM enhancement that allows complete reloading of classes
  • HotSwap agent - the name says enough; makes use of DCEVM
  • JRebel - a commercial alternative