Apache Maven

Maven is a software project management and comprehension tool. Based on the concept of a Project Object Model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

Requires Java.

Slackbuild

Package: apache-maven-3.0.4-noarch-1_SBo.tgz

User settings

You can specify your user configuration in ${user.home}/.m2/settings.xml. The default location of your local repository is ${user.home}/.m2/repository/.

Maven sample web app for JBoss AS 7.1.1

Web application creation

Deploy web application on jboss AS 7.1.1

Add REST and servlet support

Add dependencies to pom.xml, jboss AS 7.1.1 JAX-RS

   1 <dependency>
   2     <groupId>org.jboss.resteasy</groupId>
   3     <artifactId>resteasy-jaxrs</artifactId>
   4     <version>2.2.1.GA</version>
   5     <scope>provided</scope>
   6 </dependency>
   7 <dependency>
   8     <groupId>javax</groupId>
   9     <artifactId>javaee-web-api</artifactId>
  10     <version>6.0</version>
  11     <scope>provided</scope>
  12 </dependency>

Create source code for REST service and servlet

File src/main/java/org/allowed/bitarus/TestService.java

URL http://localhost:8080/WebApp/rest/testSvc/asddddd

   1 package org.allowed.bitarus;
   2 
   3 import javax.ws.rs.GET;
   4 import javax.ws.rs.Path;
   5 import javax.ws.rs.PathParam;
   6 import javax.ws.rs.core.Response;
   7 
   8 @Path("/testSvc")
   9 public class TestService {
  10 
  11     @GET
  12     @Path("/{param}")
  13     public Response getMsg(@PathParam("param") String msg) {
  14         String out = String.format("testSvc returns %s", msg);
  15         return Response.status(200).entity(out).build();
  16     }
  17 
  18 }

File src/main/java/org/allowed/bitarus/Servletx.java

http://localhost:8080/WebApp/servletxxx

   1 package org.allowed.bitarus;
   2 
   3 import javax.servlet.*;
   4 import javax.servlet.http.*;
   5 import java.io.*;
   6 
   7 public class Servletx extends HttpServlet{
   8     public void service(HttpServletRequest req, HttpServletResponse res) throws IOException
   9     {
  10         res.setContentType("text/html");
  11         PrintWriter out = res.getWriter();
  12         out.println("<html><head><title>Hello World!</title></head>");
  13         out.println("<body><h1>Hello World!</h1></body></html>");
  14     }
  15 }

Configure web app

File src/main/webapp/WEB-INF/web.xml

   1 <!DOCTYPE web-app PUBLIC
   2  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
   3  "http://java.sun.com/dtd/web-app_2_3.dtd" >
   4 <web-app>
   5   <display-name>Archetype Created Web Application</display-name>
   6   <context-param>
   7     <param-name>resteasy.scan</param-name>
   8     <param-value>true</param-value>
   9   </context-param>
  10  
  11   <context-param>
  12     <param-name>resteasy.servlet.mapping.prefix</param-name>
  13     <param-value>/rest</param-value>
  14   </context-param>
  15 
  16   <servlet>
  17     <servlet-name>resteasy-servlet</servlet-name>
  18     <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
  19   </servlet>
  20   <servlet-mapping>
  21     <servlet-name>resteasy-servlet</servlet-name>
  22     <url-pattern>/rest/*</url-pattern>
  23   </servlet-mapping>
  24 
  25   <servlet>
  26     <servlet-name>Servletx</servlet-name>
  27     <servlet-class>org.allowed.bitarus.Servletx</servlet-class>
  28   </servlet>
  29   <servlet-mapping>
  30     <servlet-name>Servletx</servlet-name>
  31     <url-pattern>/servletxxx</url-pattern> 
  32   </servlet-mapping>
  33 </web-app>

Java/ApacheMaven (last edited 2013-12-24 19:39:24 by 188)