JAX-RS Maven PluginsPage added by Sergey BeryozkinJAX-RS: Maven Plugins IntroductionA wadl2java Maven plugin for generating the Java code from WADL documents and a new Maven archetype for speeding up the creation of Spring-based CXF JAX-RS web applications are currently available. ArchetypesMaven archetypes can help with creating the boilerplate code which can be used to build a working application fast. CXF 2.5.1 introduces an org.apache.cxf.archetype:cxf-jaxrs-service archetype plugin for creating and testing a simple Spring-based JAX-RS web application. Here is how you can use it from the command line. ~/work/archetypes$ mvn archetype:generate -Dfilter=org.apache.cxf.archetype:
[INFO] Scanning for projects...
[INFO]
......
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: remote -> org.apache.cxf.archetype:cxf-jaxrs-service (Simple CXF JAX-RS webapp service using Spring configuration)
2: remote -> org.apache.cxf.archetype:cxf-jaxws-javafirst (Creates a project for developing a Web service starting from Java code)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 1
Choose version:
1: 2.5.1
2: 2.5.2-SNAPSHOT
Choose a number: 2: 1
Downloading: http://repo1.maven.org/maven2/org/apache/cxf/archetype/cxf-jaxrs-service/2.5.1/cxf-jaxrs-service-2.5.1.jar
Downloaded: http://repo1.maven.org/maven2/org/apache/cxf/archetype/cxf-jaxrs-service/2.5.1/cxf-jaxrs-service-2.5.1.jar (10 KB at 15.2 KB/sec)
......
Define value for property 'groupId': : org.examples.rest
Define value for property 'artifactId': : simple
Define value for property 'version': 1.0-SNAPSHOT: :
Define value for property 'package': org.examples.rest: :
Confirm properties configuration:
groupId: org.examples.rest
artifactId: simple
version: 1.0-SNAPSHOT
package: org.examples.rest
Y: : Y
[INFO] project created from Archetype in dir: ~/work/archetypes/simple
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
~/work/archetypes$ tree simple
simple
├── pom.xml
└── src
├── main
│ ├── java
│ │ └── org
│ │ └── examples
│ │ └── rest
│ │ ├── HelloWorld.java
│ │ └── JsonBean.java
│ └── webapp
│ └── WEB-INF
│ ├── beans.xml
│ └── web.xml
└── test
└── java
└── org
└── examples
└── rest
└── HelloWorldIT.java
~/work/archetypes$ cd simple
~/work/archetypes/simple$ mvn install
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Simple CXF JAX-RS webapp service using spring configuration 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://repo1.maven.org/maven2/org/apache/cxf/cxf-rt-frontend-jaxrs/2.5.1/cxf-rt-frontend-jaxrs-2.5.1.pom
......
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ simple ---
[INFO] Compiling 2 source files to ~/work/archetypes/simple/target/classes
[INFO]
......
[INFO] --- maven-war-plugin:2.1.1:war (default-war) @ simple ---
......
[INFO] Building war: ~/work/archetypes/simple/target/simple-1.0-SNAPSHOT.war
[INFO]
[INFO] <<< tomcat-maven-plugin:1.1:run-war (start-tomcat) @ simple <<<
[INFO]
[INFO] --- tomcat-maven-plugin:1.1:run-war (start-tomcat) @ simple ---
[INFO] Running war on http://localhost:47586/jaxrs-service
......
INFO: Starting tomcat server
06-Jan-2012 12:47:53 org.apache.catalina.core.StandardEngine start
......
INFO: Starting Coyote HTTP/1.1 on http-47586
[INFO]
......
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.examples.rest.HelloWorldIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.823 sec
Results :
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
......
[INFO]
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ simple ---
[INFO] Installing ~/work/archetypes/simple/target/simple-1.0-SNAPSHOT.war to ~/.m2/repository/org/examples/rest/simple/1.0-SNAPSHOT/simple-1.0-SNAPSHOT.war
[INFO] Installing ~/work/archetypes/simple/pom.xml to ~/.m2/repository/org/examples/rest/simple/1.0-SNAPSHOT/simple-1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
~/work/archetypes/simple$
Note that an "org.apache.cxf.archetype:" filter is used to restrict a number of available archetypes and then a jaxrs archetype is selected. After the sample project has been created it is built and the integration tests are run. Integration with Eclipse should also be possible.
Change Notification Preferences
View Online
|
Add Comment
|
