我正在学习,因此正在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/