My Wiki!

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.

Headline


Navigation