<?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> <artifactId>deltaspike</artifactId> <version>1.0</version> <name>deltaspike</name> <packaging>war</packaging> <description>A starter Java EE 7 webapp which uses DeltaSpike</description> <url>http://wildfly.org</url> <parent> <groupId>com.baeldung</groupId> <artifactId>persistence-modules</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <dependencyManagement> <dependencies> <!-- for junit5 to successfully be able to discover junit4 tests, we need 4.12+ version of --> <!-- junit:junit in the classpath. hence forcing the latest 4.13.2 available version for --> <!-- junit5 compatibility --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <!-- 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> <dependency> <groupId>org.apache.deltaspike.distribution</groupId> <artifactId>distributions-bom</artifactId> <version>${deltaspike.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> <!-- 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> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.deltaspike.modules</groupId> <artifactId>deltaspike-data-module-impl</artifactId> <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.apache.deltaspike.modules</groupId> <artifactId>deltaspike-test-control-module-api</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.deltaspike.modules</groupId> <artifactId>deltaspike-test-control-module-impl</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.deltaspike.cdictrl</groupId> <artifactId>deltaspike-cdictrl-weld</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.jboss.weld.se</groupId> <artifactId>weld-se-core</artifactId> <version>${weld.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.jboss</groupId> <artifactId>jandex</artifactId> <version>${jandex.version}</version> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>${h2.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <scope>provided</scope> </dependency> <!-- Others --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${commons-lang3.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> <!-- 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> <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> <querydsl.version>3.7.4</querydsl.version> <deltaspike.version>1.8.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.1.Final</jboss.bom.version> <weld.version>2.1.2.Final</weld.version> <!-- other plugin versions --> <war.plugin.version>2.6</war.plugin.version> <apt-maven-plugin.version>1.1.3</apt-maven-plugin.version> <jandex.version>1.2.4.Final</jandex.version> <h2.version>2.1.214</h2.version> </properties> </project>