如何告诉Maven 2加载Servlet 3.0 API?
我试着:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0</version>
<scope>provided</scope>
</dependency>
我使用http://repository.jboss.com/maven2/,但是哪种存储库是正确的?
附录:
它与整个Java EE 6 API和以下设置的依赖项一起工作:
<repository>
<id>java.net</id>
<url>http://download.java.net/maven/2</url>
</repository>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
我更倾向于只添加Servlet API作为依赖项,但“Brabster”可能是正确的,单独的依赖项已被Java EE 6 Profiles取代。有消息来源证实这一假设吗?
这是我用的。所有这些都在中央,都有来源。
适用于Tomcat 7 (java7, Servlet 3.0)
注意- Tomcat中提供了Servlet、JSP和EL api。只有JSTL(如果使用)需要与web应用程序捆绑。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>2.2.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
适用于Tomcat 8 (java8, Servlet 3.1)
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>3.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
这是我用的。所有这些都在中央,都有来源。
适用于Tomcat 7 (java7, Servlet 3.0)
注意- Tomcat中提供了Servlet、JSP和EL api。只有JSTL(如果使用)需要与web应用程序捆绑。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>2.2.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
适用于Tomcat 8 (java8, Servlet 3.1)
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>3.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
从9月份开始,我在DZone上找到了Servlet 3.0 API的POM示例。
建议您在http://download.java.net/maven/2/上使用java.net回购
那里有Java EE api,例如http://download.java.net/maven/2/javax/javaee-web-api/6.0/和POM,看起来它们可能是你想要的,例如:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
</dependency>
我猜api的版本约定已经改变,以匹配整体EE规范的版本(即Java EE 6 vs. Servlets 3.0),作为新“配置文件”的一部分。在JAR中,似乎所有3.0 servlet的东西都在里面。享受吧!