我是Intellij的新手。我创建了一个maven项目,我正在为项目添加不同类型的框架。我正在使用JBoss wildfly。
我遇到了Web应用程序框架的问题。它创建web.xml和所有必要的文件夹。但是当我尝试创建一个Servlet时,我得到一个错误,说" javax.servlet.http"在尝试编译应用程序时不存在。
我非常确定JBoss Wildfly应用程序有serlvet api,但我不确定如何将所有这些库添加到项目中。我可以手动添加它们但我不认为这是正确的方法。默认情况下,所有必需的Web应用程序API都应该可用,因为您选择了正确的框架。
我做错了什么?
编辑:好的我已经设法找到wildfly文件夹中的所有API。但是被迫手动添加servlet API感觉非常笨拙。当您创建项目并添加应用程序服务器时,Intellij会为Web应用程序添加所有api - > Wildfly。但是,当您创建maven项目并添加Web应用程序框架时,您不会将servlet api添加到项目库中。
答案 0 :(得分:0)
如果您有maven项目,则应使用Maven配置依赖项。 IntelliJ只为使用IDEA构建的项目添加库(因为它必须下载jar,构建库,并将其全部放入类路径中)。
由于maven是您的构建工具,因此您负责在pom中设置依赖项。
答案 1 :(得分:0)
正如在sylvanaay的回答中所说,你必须在你的pom中添加servlet-api,但它应该在如下的范围内提供。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
如果您在Intellij IDEA中添加mannualy库,那么当您进行maven构建时,构建可能会失败。