Latest Tutorials| Questions and Answers|Ask Questions?|Site Map



Home Maven2 maven jetty plugin

Related Tutorials


 
 

Share on Google+Share on Google+

maven jetty plugin

Advertisement
In this section, you will learn about implementing jetty plugin of maven inside web applications.

maven jetty plugin

In this section, you will learn about implementing jetty plugin of maven inside web applications.

Jetty offers  javax.servlet container , an HTTP server and HTTP client. You can use these elements for commercial usage and distribution as these elements are open source.

The apache-maven-2.2.1 versions is used in the below example.

First, you need to create web application using maven using following command :


C:\project_maven>mvn archetype:generate -DgroupId=net.roseindia -DartifactId=roseindia-webapp -DarchetypeArtifactId=maven-archetype-webapp

For complete example(web application structure creation using maven) click here.

Edit the pom.xml and add the plugin configuration under <plugin> tag as follows :

<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>net.roseindia</groupId>
<artifactId>roseindia-webapp</artifactId>
<packaging>war</packaging>
<version>1.0</version>
<name>roseindia-webapp 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>roseindia-webapp</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.10</version>


<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<webAppConfig>
<contextPath>/</contextPath>

</webAppConfig>

<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>9090</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
</plugin>

</plugins>
</build>
</project>

Run the following command after adding configuration for jetty plugin :

C:\project_maven\roseindia-webapp>mvn install

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building roseindia-webapp Maven Webapp
[INFO] task-segment: [install]
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources {execution: default-resources}]
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,
i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] [compiler:compile {execution: default-compile}]
[INFO] No sources to compile
[INFO] [resources:testResources {execution: default-testResources}]
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,
i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory C:\project_maven\roseindia-webapp\src
\test\resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] No sources to compile
[INFO] [surefire:test {execution: default-test}]
[INFO] No tests to run.
[INFO] [war:war {execution: default-war}]
[INFO] Packaging webapp
[INFO] Assembling webapp[roseindia-webapp] in [C:\project_maven\roseindia-webapp
\target\roseindia-webapp]
[INFO] Processing war project
[INFO] Copying webapp resources[C:\project_maven\roseindia-webapp\src\main\webapp]
[INFO] Webapp assembled in[62 msecs]
[INFO] Building war: C:\project_maven\roseindia-webapp\target\roseindia-webapp.war
[INFO] [install:install {execution: default-install}]
[INFO] Installing C:\project_maven\roseindia-webapp\target\roseindia-webapp.war
to C:\Documents and Settings\satya\.m2\repository\net\roseindia\roseindia-webapp
\1.0\roseindia-webapp-1.0.war
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Mon Jul 09 18:01:35 GMT+05:30 2012
[INFO] Final Memory: 10M/24M
[INFO] ------------------------------------------------------------------------

Now using jetty server, you can run your web application using mvn jetty: run command as follows :

C:\project_maven\roseindia-webapp>mvn jetty:run

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building roseindia-webapp Maven Webapp
[INFO] task-segment: [jetty:run]
[INFO] ------------------------------------------------------------------------
[INFO] Preparing jetty:run
[INFO] [resources:resources {execution: default-resources}]
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,
i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] [compiler:compile {execution: default-compile}]
[INFO] No sources to compile
[INFO] [resources:testResources {execution: default-testResources}]
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,
i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory C:\project_maven\roseindia-webapp\sr
\test\resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] No sources to compile
[INFO] [jetty:run {execution: default-cli}]
[INFO] Configuring Jetty for project: roseindia-webapp Maven Webapp
[INFO] Webapp source directory = C:\project_maven\roseindia-webapp\src\main\web
pp
[INFO] web.xml file = C:\project_maven\roseindia-webapp\src\main\webapp\WEB-INF
web.xml
[INFO] Classes = C:\project_maven\roseindia-webapp\target\classes
2012-07-09 18:10:42.148::INFO: Logging to STDERR via org.mortbay.log.StdErrLog
[INFO] Context path = /
[INFO] Tmp directory = determined at runtime
[INFO] Web defaults = org/mortbay/jetty/webapp/webdefault.xml
[INFO] Web overrides = none
[INFO] Webapp directory = C:\project_maven\roseindia-webapp\src\main\webapp
[INFO] Starting jetty 6.1.10 ...
2012-07-09 18:10:42.163::INFO: jetty-6.1.10
2012-07-09 18:10:42.241::INFO: No Transaction manager found - if your webapp r
quires one, please configure one.
2012-07-09 18:10:43.366::INFO: Started SelectChannelConnector@0.0.0.0:9090
[INFO] Started Jetty Server
[INFO] Starting scanner at interval of 10 seconds.

Inside project_maven directory, you can see the change in the structure (target folder, which also held the compile classes) :

Call the following URL in browser(http://localhost:9090 ) , you will get the following output :

 

Advertisements

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: July 10, 2012

Related Tutorials

Discuss: maven jetty plugin  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:0
DMCA.com