java - Javax.servlet依赖项不起作用

标签 java servlets intellij-idea gradle dependencies

我正在学习,因此正在Intellij中创建Gradle项目以提高自己的技能。以前,我与Maven创建了相同的项目,并且运行良好。

我的项目是这样的:
Project

如何在图像中看到“ HttpServlet ”无法识别,我也不知道为什么,因为我有依赖关系,而且显然一切正确,这是我的 build.gradle 和依赖关系:

group 'com.aprendiendo.java'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'war'

sourceCompatibility = 1.5

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'

    // https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api
    compile group: 'javax.servlet', name: 'javax.servlet-api', version: '3.1.0'
}

在第一张图片中,可以看到 Gadle项目菜单-> Dependences文件夹是javax.servlet...。但是它不能工作,因为我不能使用任何Java Servlet API(类,等等...),如何在我之前放置的项目图像中看到。

我已经修改了所有内容,但我不知道发生了什么。

最佳答案

我在IntelliJ版本上尝试了类似的设置,但实际上一切正常。您可以尝试在扩展名中不使用完全限定名称。使用

public class Servlet extends HttpServlet 

代替
public class Servlet extends javax.servlet.http.HttpServlet

然后用鼠标悬停在HttpServlet上,看看IntelliJ是否自动建议导入。如果是这样,则可以使用Alt + Enter完成导入。这可能使IntelliJ难以识别依赖关系。您也可以尝试Build-> Make Project来识别。

您可能还需要检查在文件->项目结构下,然后选择库节点。查看并查看是否列出了依赖项:javax:servlet-api:3.1.0,junit:junit:4.11,org.hamcrest:hamcrest-core:1.3。

我只是在更高版本的IntelliJ 2016上进行了测试,但它应该可以工作。随时发表评论/问题。

关于java - Javax.servlet依赖项不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39613243/

相关文章:

Java 8 Stream API - 仅选择 Collectors.groupingBy(..) 之后的值

groovy - 如何让 IntelliJ IDEA 识别 GPars DSL?

Java 更改卷 OSX

java - 设置最新 Activity 信息

java - HttpServletRequest - 设置参数

java - 是否可以使用 Spring-MVC 和 Spring-Test-MVC 测试 HttpSessionListener?

java - GF4 javax.servlet.http.HttpServlet 的 OSGI bundle - ClassNotFound

java - IDEA中有@NonNullByDefault注解吗?

python - Intellij 不显示项目文件夹(Python 项目)

java - 带有嵌入对象的 MongoDB + Spring 数据转换器