Table of Contents
Weld Jetty Deltaspike Jersey
Generate Weld project with maven
mvn archetype:generate Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : weld Choose archetype: 1: remote -> org.jboss.weld.archetypes:jboss-jsf-weld-servlet-webapp (An archetype that generates a starter JSF webapp project with CDI capabilities for Servlet containers) 2: remote -> org.jboss.weld.archetypes:weld-jsf-jee (Weld archetype for creating a Java EE 6 application using JSF 2.0, CDI 1.0, EJB 3.1 and JPA 2.0 (persistence unit included)) 3: remote -> org.jboss.weld.archetypes:weld-jsf-jee-minimal (Weld archetype for creating a minimal Java EE 6 application using JSF 2.0, CDI 1.0 and EJB 3.1 (persistence unit not included)) 4: remote -> org.jboss.weld.archetypes:weld-jsf-servlet-minimal (Weld archetype for creating an application using JSF 2.0 and CDI 1.0 for Servlet Containers (Tomcat 6 / Jetty 6)) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 4
These are not embedded Servlet. They pack webapp and deploy on embedded webapp.
- 1: JSF CDI for Jetty/Tomcat
- 2+3: for Appserver
- 4: JSF CDI for Jetty/Tomcat
Portable Webserver: Jetty Weld Jersey Deltaspike
Project Structure
mvn archetype:generate -DgroupId=de.td -DartifactId=portable-webserver
Delete the src-folder and open the pom.xml-file to change the packaging of your parent project to pom.
<packaging>pom</packaging>
Add <modules> section.
Create module parent:
cd portable-webserver mvn archetype:generate -DgroupId=de.td -DartifactId=portable-webserver-parent rm -rf portable-webserver-parent/src
Change packaging of parent to pom:
<packaging>pom</packaging>
Create module implementation:
mvn archetype:generate -DgroupId=de.td -DartifactId=portable-webserver-server
Edit <parent> section to use portable-webserver-parent module.
<parent> <groupId>de.gtarc.nemo</groupId> <artifactId>portable-webserver-parent</artifactId> <version>1.0-SNAPSHOT</version> <relativePath>../portable-webserver-parent</relativePath> </parent>
Install modules:
mvn clean install
Example module
mkdir example cd example mvn archetype:generate -DgroupId=de.td.example.simple -DartifactId=portable-webserver-example
Edit pom with dependencies
Code
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.gtarc.nemo.example</groupId>
<artifactId>portable-webserver-simple</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>portable-webserver-simple</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>
UTF-8</project.build.sourceEncoding>
<portable.webserver.version>1.0-SNAPSHOT</portable.webserver.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- import fabric8 platform bom first -->
<dependency>
<groupId>de.gtarc.nemo</groupId>
<artifactId>portable-webserver-parent</artifactId>
<version>${portable.webserver.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- allows the route to be ran via 'mvn exec:java' -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<configuration>
<mainClass>de.gtarc.nemo.example.simple.Main</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
mvn clean compile exec:java mvn dependency:tree
Eclipse
For each project with source:
mvn eclipse:eclipse
Open eclipse and import existing Maven projects.