307 lines
12 KiB
XML
307 lines
12 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<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.baeldung</groupId>
|
|
<artifactId>deltaspike</artifactId>
|
|
<version>1.0</version>
|
|
<packaging>war</packaging>
|
|
<name>deltaspike</name>
|
|
<description>A starter Java EE 7 webapp which uses DeltaSpike</description>
|
|
|
|
<url>http://wildfly.org</url>
|
|
<licenses>
|
|
<license>
|
|
<name>Apache License, Version 2.0</name>
|
|
<distribution>repo</distribution>
|
|
<url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
|
|
</license>
|
|
</licenses>
|
|
|
|
<properties>
|
|
<!-- Explicitly declaring the source encoding eliminates the following
|
|
message: -->
|
|
<!-- [WARNING] Using platform encoding (UTF-8 actually) to copy filtered
|
|
resources, i.e. build is platform dependent! -->
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
|
|
<slf4j.version>1.7.21</slf4j.version>
|
|
<querydsl.version>3.7.4</querydsl.version>
|
|
<deltaspike.version>1.7.2</deltaspike.version>
|
|
|
|
<!-- JBoss dependency versions -->
|
|
<wildfly.maven.plugin.version>1.0.2.Final</wildfly.maven.plugin.version>
|
|
|
|
<!-- Define the version of the JBoss BOMs we want to import to specify
|
|
tested stacks. -->
|
|
<jboss.bom.version>8.2.2.Final</jboss.bom.version>
|
|
|
|
<!-- other plugin versions -->
|
|
<version.compiler.plugin>3.6.0</version.compiler.plugin>
|
|
<surefire.plugin.version>2.19.1</surefire.plugin.version>
|
|
<war.plugin.version>2.6</war.plugin.version>
|
|
<apt-maven-plugin.version>1.1.3</apt-maven-plugin.version>
|
|
|
|
<!-- maven-compiler-plugin -->
|
|
<maven.compiler.target>1.7</maven.compiler.target>
|
|
<maven.compiler.source>1.7</maven.compiler.source>
|
|
</properties>
|
|
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<!-- JBoss distributes a complete set of Java EE 7 APIs including a Bill
|
|
of Materials (BOM). A BOM specifies the versions of a "stack" (or a collection)
|
|
of artifacts. We use this here so that we always get the correct versions
|
|
of artifacts. Here we use the jboss-javaee-7.0-with-tools stack (you can
|
|
read this as the JBoss stack of the Java EE 7 APIs, with some extras tools
|
|
for your project, such as Arquillian for testing) and the jboss-javaee-7.0-with-hibernate
|
|
stack you can read this as the JBoss stack of the Java EE 7 APIs, with extras
|
|
from the Hibernate family of projects) -->
|
|
<dependency>
|
|
<groupId>org.wildfly.bom</groupId>
|
|
<artifactId>jboss-javaee-7.0-with-tools</artifactId>
|
|
<version>${jboss.bom.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.wildfly.bom</groupId>
|
|
<artifactId>jboss-javaee-7.0-with-hibernate</artifactId>
|
|
<version>${jboss.bom.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<dependencies>
|
|
|
|
<!-- First declare the APIs we depend on and need for compilation. All
|
|
of them are provided by JBoss WildFly -->
|
|
|
|
<!-- Import the CDI API, we use provided scope as the API is included in
|
|
JBoss WildFly -->
|
|
<dependency>
|
|
<groupId>javax.enterprise</groupId>
|
|
<artifactId>cdi-api</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<!-- Import the Common Annotations API (JSR-250), we use provided scope
|
|
as the API is included in JBoss WildFly -->
|
|
<dependency>
|
|
<groupId>org.jboss.spec.javax.annotation</groupId>
|
|
<artifactId>jboss-annotations-api_1.2_spec</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<!-- Import the JAX-RS API, we use provided scope as the API is included
|
|
in JBoss WildFly -->
|
|
<dependency>
|
|
<groupId>org.jboss.resteasy</groupId>
|
|
<artifactId>jaxrs-api</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<!-- Import the JPA API, we use provided scope as the API is included in
|
|
JBoss WildFly -->
|
|
<dependency>
|
|
<groupId>org.hibernate.javax.persistence</groupId>
|
|
<artifactId>hibernate-jpa-2.1-api</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<!-- Import the EJB API, we use provided scope as the API is included in
|
|
JBoss WildFly -->
|
|
<dependency>
|
|
<groupId>org.jboss.spec.javax.ejb</groupId>
|
|
<artifactId>jboss-ejb-api_3.2_spec</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<!-- JSR-303 (Bean Validation) Implementation -->
|
|
<!-- Provides portable constraints such as @Email -->
|
|
<!-- Hibernate Validator is shipped in JBoss WildFly -->
|
|
<dependency>
|
|
<groupId>org.hibernate</groupId>
|
|
<artifactId>hibernate-validator</artifactId>
|
|
<scope>provided</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<!-- Import the JSF API, we use provided scope as the API is included in
|
|
JBoss WildFly -->
|
|
<dependency>
|
|
<groupId>org.jboss.spec.javax.faces</groupId>
|
|
<artifactId>jboss-jsf-api_2.2_spec</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<!-- Now we declare any tools needed -->
|
|
|
|
<!-- Annotation processor to generate the JPA 2.0 metamodel classes for
|
|
typesafe criteria queries -->
|
|
<dependency>
|
|
<groupId>org.hibernate</groupId>
|
|
<artifactId>hibernate-jpamodelgen</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<!-- Annotation processor that raising compilation errors whenever constraint
|
|
annotations are incorrectly used. -->
|
|
<dependency>
|
|
<groupId>org.hibernate</groupId>
|
|
<artifactId>hibernate-validator-annotation-processor</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<!-- Needed for running tests (you may also use TestNG) -->
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- Optional, but highly recommended -->
|
|
<!-- Arquillian allows you to test enterprise code such as EJBs and Transactional(JTA)
|
|
JPA from JUnit/TestNG -->
|
|
<dependency>
|
|
<groupId>org.jboss.arquillian.junit</groupId>
|
|
<artifactId>arquillian-junit-container</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.jboss.arquillian.protocol</groupId>
|
|
<artifactId>arquillian-protocol-servlet</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.jboss.shrinkwrap.resolver</groupId>
|
|
<artifactId>shrinkwrap-resolver-impl-maven</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.deltaspike.modules</groupId>
|
|
<artifactId>deltaspike-data-module-api</artifactId>
|
|
<version>${deltaspike.version}</version>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.deltaspike.modules</groupId>
|
|
<artifactId>deltaspike-data-module-impl</artifactId>
|
|
<version>${deltaspike.version}</version>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
|
|
<!-- querydsl libraries -->
|
|
<dependency>
|
|
<groupId>com.mysema.querydsl</groupId>
|
|
<artifactId>querydsl-apt</artifactId>
|
|
<version>${querydsl.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.mysema.querydsl</groupId>
|
|
<artifactId>querydsl-jpa</artifactId>
|
|
<version>${querydsl.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-log4j12</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<!-- Maven will append the version to the finalName (which is the name
|
|
given to the generated war, and hence the context root) -->
|
|
<finalName>${project.artifactId}</finalName>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-war-plugin</artifactId>
|
|
<version>${war.plugin.version}</version>
|
|
<configuration>
|
|
<!-- Java EE 7 doesn't require web.xml, Maven needs to catch up! -->
|
|
<failOnMissingWebXml>false</failOnMissingWebXml>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.mysema.maven</groupId>
|
|
<artifactId>apt-maven-plugin</artifactId>
|
|
<version>${apt-maven-plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>process</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>target/generated-sources/java</outputDirectory>
|
|
<processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- The WildFly plugin deploys your war to a local WildFly container -->
|
|
<!-- To use, run: mvn package wildfly:deploy -->
|
|
<plugin>
|
|
<groupId>org.wildfly.plugins</groupId>
|
|
<artifactId>wildfly-maven-plugin</artifactId>
|
|
<version>${wildfly.maven.plugin.version}</version>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<!-- The default profile skips all tests, though you can tune it to run
|
|
just unit tests based on a custom pattern -->
|
|
<!-- Seperate profiles are provided for running all tests, including Arquillian
|
|
tests that execute in the specified container -->
|
|
<id>default</id>
|
|
<activation>
|
|
<activeByDefault>true</activeByDefault>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>${surefire.plugin.version}</version>
|
|
<configuration>
|
|
<skip>true</skip>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
|
|
<!-- An optional Arquillian testing profile that executes tests
|
|
in your WildFly instance -->
|
|
<!-- This profile will start a new WildFly instance, and execute the
|
|
test, shutting it down when done -->
|
|
<!-- Run with: mvn clean test -Parq-wildfly-managed -->
|
|
<id>arq-wildfly-managed</id>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.wildfly</groupId>
|
|
<artifactId>wildfly-arquillian-container-managed</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|