Javax.servlet依赖项不起作用

时间:2016-09-21 09:55:13

标签: 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(类等等),你怎么看才能看到我之前提出的项目形象。

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

1 个答案:

答案 0 :(得分:0)

我在IntelliJ版本上尝试了类似的设置,所有内容实际上都运行正常。您可以尝试不使用扩展名中的完全限定名称。使用

public class Servlet extends HttpServlet 

而不是

public class Servlet extends javax.servlet.http.HttpServlet

然后用鼠标悬停在HttpServlet上,查看IntelliJ是否自动提供导入。如果是,则可以使用Alt + Enter完成导入。这可能会使IntelliJ认识到依赖性。你也可以试试Build - >制作项目以查看是否识别。

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

我只是在IntelliJ 2016的更高版本上测试过,但它应该可以工作。随意发回评论/问题。