<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>com.baeldung</groupId> <artifactId>spring-mvc-java</artifactId> <version>0.1-SNAPSHOT</version> <name>spring-mvc-java</name> <packaging>war</packaging> <dependencies> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${org.springframework.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-websocket</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-messaging</artifactId> <version>${org.springframework.version}</version> </dependency> <!-- Jackson --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> <!-- web --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>${javax.servlet-api.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>${jstl.version}</version> <scope>runtime</scope> </dependency> <!-- AOP --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${aspectj.version}</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>${aspectj.version}</version> </dependency> <!-- common --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>${commons-fileupload.version}</version> </dependency> <dependency> <groupId>net.sourceforge.htmlunit</groupId> <artifactId>htmlunit</artifactId> <version>${net.sourceforge.htmlunit}</version> </dependency> <!-- Thymeleaf --> <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf-spring4</artifactId> <version>${thymeleaf.version}</version> </dependency> <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf</artifactId> <version>${thymeleaf.version}</version> </dependency> <!-- logging --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${org.slf4j.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <!-- <scope>runtime</scope> --> <version>${logback.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <!-- <scope>runtime</scope> --> <!-- some spring dependencies need to compile against jcl --> <version>${org.slf4j.version}</version> </dependency> <dependency> <!-- needed to bridge to slf4j for projects that use the log4j APIs directly --> <groupId>org.slf4j</groupId> <artifactId>log4j-over-slf4j</artifactId> <version>${org.slf4j.version}</version> </dependency> <!-- test scoped --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> <version>${org.hamcrest.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-library</artifactId> <version>${org.hamcrest.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.jayway.jsonpath</groupId> <artifactId>json-path</artifactId> <version>${jsonpath.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${org.springframework.version}</version> <scope>test</scope> </dependency> <!-- excel --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>${poi.version}</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>${poi.version}</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>${poi.version}</version> </dependency> <dependency> <groupId>org.jxls</groupId> <artifactId>jxls-jexcel</artifactId> <version>${jexcel.version}</version> </dependency> </dependencies> <build> <finalName>spring-mvc-java</finalName> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven-compiler-plugin.version}</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>${maven-resources-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>${maven-war-plugin.version}</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${maven-surefire-plugin.version}</version> <configuration> <excludes> <exclude>**/*IntegrationTest.java</exclude> <exclude>**/*LiveTest.java</exclude> </excludes> <testFailureIgnore>true</testFailureIgnore> <systemPropertyVariables> <!-- <provPersistenceTarget>h2</provPersistenceTarget> --> </systemPropertyVariables> </configuration> </plugin> <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <version>${cargo-maven2-plugin.version}</version> <configuration> <wait>true</wait> <container> <containerId>jetty8x</containerId> <type>embedded</type> <systemProperties> <!-- <provPersistenceTarget>cargo</provPersistenceTarget> --> </systemProperties> </container> <configuration> <properties> <cargo.servlet.port>8082</cargo.servlet.port> </properties> </configuration> </configuration> </plugin> </plugins> </build> <profiles> <profile> <id>integration</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <executions> <execution> <phase>integration-test</phase> <goals> <goal>test</goal> </goals> <configuration> <excludes> <exclude>**/*LiveTest.java</exclude> </excludes> <includes> <include>**/*IntegrationTest.java</include> </includes> </configuration> </execution> </executions> <configuration> <systemPropertyVariables> <test.mime>json</test.mime> </systemPropertyVariables> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>live</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <executions> <execution> <phase>integration-test</phase> <goals> <goal>test</goal> </goals> <configuration> <excludes> <exclude>**/*IntegrationTest.java</exclude> </excludes> <includes> <include>**/*LiveTest.java</include> </includes> </configuration> </execution> </executions> <configuration> <systemPropertyVariables> <test.mime>json</test.mime> </systemPropertyVariables> </configuration> </plugin> <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <configuration> <wait>false</wait> </configuration> <executions> <execution> <id>start-server</id> <phase>pre-integration-test</phase> <goals> <goal>start</goal> </goals> </execution> <execution> <id>stop-server</id> <phase>post-integration-test</phase> <goals> <goal>stop</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> <properties> <!-- Spring --> <org.springframework.version>4.3.4.RELEASE</org.springframework.version> <org.springframework.security.version>4.2.0.RELEASE</org.springframework.security.version> <thymeleaf.version>2.1.5.RELEASE</thymeleaf.version> <jackson.version>2.8.5</jackson.version> <!-- persistence --> <hibernate.version>5.2.5.Final</hibernate.version> <mysql-connector-java.version>5.1.40</mysql-connector-java.version> <!-- logging --> <org.slf4j.version>1.7.21</org.slf4j.version> <logback.version>1.1.7</logback.version> <!-- various --> <hibernate-validator.version>5.3.3.Final</hibernate-validator.version> <javax.servlet-api.version>3.1.0</javax.servlet-api.version> <jstl.version>1.2</jstl.version> <!-- util --> <guava.version>19.0</guava.version> <commons-lang3.version>3.5</commons-lang3.version> <commons-fileupload.version>1.3.2</commons-fileupload.version> <jsonpath.version>2.2.0</jsonpath.version> <!-- testing --> <org.hamcrest.version>1.3</org.hamcrest.version> <junit.version>4.12</junit.version> <mockito.version>1.10.19</mockito.version> <httpcore.version>4.4.5</httpcore.version> <httpclient.version>4.5.2</httpclient.version> <rest-assured.version>2.9.0</rest-assured.version> <net.sourceforge.htmlunit>2.23</net.sourceforge.htmlunit> <!-- maven plugins --> <maven-compiler-plugin.version>3.6.0</maven-compiler-plugin.version> <maven-war-plugin.version>2.6</maven-war-plugin.version> <maven-surefire-plugin.version>2.19.1</maven-surefire-plugin.version> <maven-resources-plugin.version>2.7</maven-resources-plugin.version> <cargo-maven2-plugin.version>1.6.1</cargo-maven2-plugin.version> <!-- AspectJ --> <aspectj.version>1.8.9</aspectj.version> <!-- excel --> <poi.version>3.16-beta1</poi.version> <jexcel.version>1.0.6</jexcel.version> </properties> </project>