以正确的方式处理库

时间:2014-09-22 10:09:38

标签: servlets intellij-idea jboss

我是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添加到项目库中。

2 个答案:

答案 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构建时,构建可能会失败。