如何配置 maven 以使用 servlet 3

Posted

技术标签:

【中文标题】如何配置 maven 以使用 servlet 3【英文标题】:How to config maven to use servlet 3 【发布时间】:2014-09-11 09:26:56 【问题描述】:

我想升级我的 web 应用程序以使用 servlet 3.0(插入 2.5)。我正在使用 WebLogic Server 版本:12.1.1.0 (12c)、maven、java 7_10 和 NetBeans 7.3.1

由于某种原因,唯一可用的 servlet-api 是 3.0-alpha-1 而不是 3.0

<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>

<dependencies>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-web-api</artifactId>
        <version>6.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>3.0-alpha-1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.myfaces.core</groupId>
        <artifactId>myfaces-api</artifactId>
        <version>2.1.8</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.myfaces.core</groupId>
        <artifactId>myfaces-impl</artifactId>
        <version>2.1.8</version>
        <scope>compile</scope>
    </dependency>

【问题讨论】:

servlet-api 3.0.1 是当前流行的版本。有什么理由不能用吗? 【参考方案1】:

您的选项实际上是最终版本的 3.0.13.1.0,并且工件 ID 已更改。使用旧的 servlet-api 工件 ID,可用的版本只有 2 个。 x,除了你找到的 alpha。

如果您更新到javax.servlet-api,您会发现更新的3.x 版本:

http://mvnrepository.com/artifact/javax.servlet/javax.servlet-api

您可以更新您的 POM 以使用:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>

【讨论】:

3.1.0版本怎么样,这个版本也兼容12c吗?谢谢 我想是这样,但我不确定。把它放进去试一试。【参考方案2】:

试试这个依赖

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
</dependency>

在这里找到:http://mvnrepository.com/artifact/javax.servlet/javax.servlet-api

如果您需要更接近 3.0 的版本,还有一个 3.0.1 版本

【讨论】:

以上是关于如何配置 maven 以使用 servlet 3的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Maven 中创建 Servlet 3.0 Web 应用程序?

SpringBoot初识

如何创建一个Servlet项目(Maven)?

如何运行springmvc rest

html如何超链接到servlet

Eclipse Maven项目报错3之找不到配置文件spring-servlet-context.xml