Maven - Maven Web Application - maven tutorial



What is Web Application?

  • Web application is a client-server software application in which the client (or user interface) runs in a web browser.Common web applications include webmail, online retail sales, online auctions, wikis, instant messaging services and many other functions.
  • learn maven tutorial - maven project - apache maven - web application deployment - Apache Maven example programs

    learn maven tutorial - maven project - web application deployment - Apache Maven example programs

  • We can create a simple maven web application example by executing the archetype: generate command of mvn tool.
  • To create a simple java project using maven, you need to open command prompt and run the archetype: generate command of mvn tool.
maven tutorial tags : apache maven , maven repository , maven central

Syntax

  • The syntax to generate the project architecture is given below:
mvn archetype:generate 
-DgroupId=groupid 
-DartifactId=artifactid   
-DarchetypeArtifactId=maven-archetype-webapp 
-DinteractiveMode=booleanValue 

Example

  • The example to generate the project architecture is given below:
    • mvn archetype:generate -DgroupId=com.wikitechy -DartifactId=CubeGeneratorWeb
    • -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
  • Note: Here, we are using maven-archetype-webapp to create simple maven web application. if you use maven-archetype-quick start, it will generate a simple maven core project.
  • Now it will generate following code in the command prompt:

Output

mvn archetype:generate -DgroupId=com.wikitechy -DartifactId=CubeGeneratorWe  
b -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false  
[INFO] Scanning for projects...  
[INFO]  
[INFO] ------------------------------------------------------------------------  
[INFO] Building Maven Stub Project (No POM) 1  
[INFO] ------------------------------------------------------------------------  
[INFO]  
[INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom >>  
>  
[INFO]  
[INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom <<  
<  
[INFO]  
[INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom --  
-  
[INFO] Generating project in Batch mode  
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mav  
en-archetype-webapp/1.0/maven-archetype-webapp-1.0.jar  
Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mave  
n-archetype-webapp/1.0/maven-archetype-webapp-1.0.jar (4 KB at 3.8 KB/sec)  
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mav  
en-archetype-webapp/1.0/maven-archetype-webapp-1.0.pom  
Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mave  
n-archetype-webapp/1.0/maven-archetype-webapp-1.0.pom (533 B at 0.8 KB/sec)  
[INFO] -------------------------------------------------------------------------  
---  
[INFO] Using following parameters for creating project from Old (1.x) Archetype:  
maven-archetype-webapp:1.0  
[INFO] -------------------------------------------------------------------------  
---  
[INFO] Parameter: groupId, Value: com.wikitechy  
[INFO] Parameter: packageName, Value: com.wikitechy  
[INFO] Parameter: package, Value: com.wikitechy
[INFO] Parameter: artifactId, Value: CubeGeneratorWeb  
[INFO] Parameter: basedir, Value: D:\  
[INFO] Parameter: version, Value: 1.0-SNAPSHOT  
[INFO] project created from Old (1.x) Archetype in dir: D:\CubeGeneratorWeb  
[INFO] ------------------------------------------------------------------------  
[INFO] BUILD SUCCESS  
[INFO] ------------------------------------------------------------------------  
[INFO] Total time: 10.273s  
[INFO] Finished at: Thu Dec 26 19:25:04 IST 2013  
[INFO] Final Memory: 10M/24M  
[INFO] ------------------------------------------------------------------------  
'cmd' is not recognized as an internal or external command,  
operable program or batch file.  

Generated Directory Structure

  • Now go to the current directory from where you have executed the mvn command.
  • For example: d:\CubeGeneratorWeb. You will see that a simple java project is created that has the following directory:
CubeGenerator  
-src  
--main  
---resources  
---webapp  
----WEB-INF  
-----web.xml  
----index.jsp  
-pom.xml  
  • As you can see, there are created 3 files pom.xml, index.jsp and web.xml. Let's have a quick look at these files:

1.Automatically Generated pom.xml file

<project xmlns="http://maven.apache.org/POM/4.0.0"   
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0   
http://maven.apache.org/maven-v4_0_0.xsd">  
  <modelVersion>4.0.0</modelVersion>  
  <groupId>com.wikitechy</groupId>  
  <artifactId>CubeGeneratorWeb</artifactId>  
  <packaging>war</packaging>  
  <version>1.0-SNAPSHOT</version>  
  <name>CubeGeneratorWeb Maven Webapp</name>  
  <url>http://maven.apache.org</url>  
  <dependencies>  
    <dependency>  
      <groupId>junit</groupId>  
      <artifactId>junit</artifactId>  
      <version>3.8.1</version>  
      <scope>test</scope>  
    </dependency>  
  </dependencies>  
  <build>  
    <finalName>CubeGeneratorWeb</finalName>  
  </build>  
</project>  
maven tutorial tags : apache maven , maven repository , maven central

2.Automatically Generated index.jsp file

<html>  
<body>  
<h2>Hello World!</h2>  
</body>  
</html>  

3.Automatically Generated web.xml file

<!DOCTYPE web-app PUBLIC  
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"  
 "http://java.sun.com/dtd/web-app_2_3.dtd" >  
  
<web-app>  
  <display-name>Archetype Created Web Application</display-name>  
</web-app>  

Deploy and Run the Maven Web Project

  • Now you need to deploy the project on the server and access it by the following url:
    • http://<host-name>:<portnumber>/projectname,:
    • http://localhost:8888/CubeGeneratorWeb
maven tutorial tags : apache maven , maven repository , maven central

Example:

 Maven Web Project

Maven Webapp in Eclipse

You can import the maven web project in eclipse. To do so, perform following steps:

  • Open eclipse IDE
  • Import the maven project
  • File Menu -> Import -> Maven -> Existing Maven Projects
 Maven WebApp in Eclipse
  • Next -> Browse Project
 Maven Projects
  • Finish.

Run the maven web project

  • Right click on project -> Run As -> Run on Server

Directory Structure of Maven Webapp in Eclipse

 Maven Directory Structure

Wikitechy provides an indepth knowledge on the below maven tutorial items such as maven download , maven install , maven goals , maven build , maven commands , maven plugin , maven search , maven eclipse , maven deploy , eclipse maven , maven junit , maven java , hibernate maven , maven project , java maven , maven version , maven proxy , maven 2 , maven pom , maven eclipse plugin , maven java version , maven properties , maven install windows , how to create maven project in eclipse , eclipse maven plugin , maven dependencies , what is maven in java , maven apache , maven project structure , how to install maven in eclipse

Related Searches to Maven Web Application