Essential Maven POM For JavaEE 7
The essential POM for JavaEE 7 is 30 lines of xml:
<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.airhacks</groupId>
<artifactId>javaee-essentials-pom</artifactId>
<version>1.0</version>
<url>http://airhacks.com</url>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<defaultGoal>clean install</defaultGoal>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
The src/main/webapp/WEB-INF
folder comprises a minimalistic web.xml
, so there is no need for WAR-plugin configuration:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
The pom.xml was also checked-in into: https://github.com/AdamBien/javaee-essentials-pom
See you at Java EE Workshops at MUC Airport (Maven is discussed at second day, in the "Effective JavaEE" workshop)!
To save even more line, you may skip the compiler definition (since it is implicit) and just define properties 'maven.compiler.source' and 'maven.compiler.target'
Posted by banter on June 03, 2015 at 11:09 AM CEST #
The xsi:schemaLocation attribute in your web.xml is wrong. It should be "http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
Posted by 209.189.194.189 on September 29, 2015 at 09:32 PM CEST #