Some dependency declarations in pom.xml may cause problems.
1. Should mark "Servlet 3.0 & JSP 2.2 API" as provided
For example,
<dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.2.1</version> <scope>provided</scope> <!-- by Web Container --> </dependency> <dependency> <groupId>javax.el</groupId> <artifactId>javax.el-api</artifactId> <version>2.2.4</version> <scope>provided</scope> <!-- by Web Container --> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1-b05</version> <scope>provided</scope> <!-- by Web Container --> </dependency>
2. Should mark "zkplus/zkex/zkmax" as optional
If the main project does not have dependencies for zkplus/zkex/zkmax, maven generated war file would include their 7.0.0 version given the current zuljsp dependencies.
For example,
<dependency> <groupId>org.zkoss.zk</groupId> <artifactId>zkplus</artifactId> <version>${zk.version}</version> <optional>true</optional> </dependency> <dependency> <groupId>org.zkoss.zk</groupId> <artifactId>zkex</artifactId> <version>${zk.version}</version> <optional>true</optional> </dependency> <dependency> <groupId>org.zkoss.zk</groupId> <artifactId>zkmax</artifactId> <version>${zk.version}</version> <optional>true</optional> </dependency>