WAITT is the Web Application Integration Test Tool.
Using WAITT, you can deploy your application to any server without building war or jar file.
Add plugin to your pom.xml
<plugin>
<groupId>net.unit8.waitt</groupId>
<artifactId>waitt-maven-plugin</artifactId>
<version>1.2.0</version>
<configuration>
<servers>
<server>
<groupId>net.unit8.waitt.server</groupId>
<artifactId>waitt-tomcat8</artifactId>
<version>1.2.0</version>
</server>
</servers>
</configuration>
</plugin>
And execute following command to start tomcat8.
% mvn waitt:run
Then web browser will be started automatically.
If you do not want to start a browser, you can use a run-headless
goal as follows.
% mvn waitt:run-headless
Waitt plugin can build an executable jar.
% mvn waitt:jar
It doesn't include non-resource files automatically. So, if your app refers asset files outside jar file, you can use -d
option in runtime.
% java -jar xxx-standalone.jar -d src/main/webapp
- Tomcat8
<server>
<groupId>net.unit8.waitt.server</groupId>
<artifactId>waitt-tomcat8</artifactId>
<version>1.2.0</version>
</server>
- Tomcat7
<server>
<groupId>net.unit8.waitt.server</groupId>
<artifactId>waitt-tomcat7</artifactId>
<version>1.2.0</version>
</server>
- Jetty9
<server>
<groupId>net.unit8.waitt.server</groupId>
<artifactId>waitt-jetty9</artifactId>
<version>1.2.0</version>
</server>
If you set multiple servers and maven is executed in the interactive mode, you can select a server at runtime.
You can use JaCoCo or Cobertura.
When you access to /_coverage/
, you can see the coverages of your code.
<feature>
<groupId>net.unit8.waitt.feature</groupId>
<artifactId>waitt-coverage</artifactId>
<version>1.2.0</version>
</feature>
<feature>
<groupId>net.unit8.waitt.feature</groupId>
<artifactId>waitt-jacoco</artifactId>
<version>1.2.0</version>
</feature>
<feature>
<groupId>net.unit8.waitt.feature</groupId>
<artifactId>waitt-dashboard</artifactId>
<version>1.2.0</version>
<type>war</type>
</feature>
When you access to /_dashboard/
, you can see the information of your application.
In dashboard, you can monitor the memory usage / cpu load of a server and redeploy your application.
Add waitt-admin
feature to your configuration.
<feature>
<groupId>net.unit8.waitt.feature</groupId>
<artifactId>waitt-admin</artifactId>
<version>1.2.0</version>
</feature>
You can show and search logs at development in Kibana.
<feature>
<groupId>net.unit8.waitt.feature</groupId>
<artifactId>waitt-tracer</artifactId>
<version>1.2.0</version>
<configuration>
<elasticsearch.url>http://[es host]:9200</elasticsearch.url>
</configuration>
</feature>