2014-09-22 144 views
0

我是Intellij新手。我创建了一个maven项目,我正在为项目添加不同类型的框架。我正在使用JBoss wildfly。正确处理库

我遇到了web应用程序框架的问题。它创建web.xml和所有必要的文件夹。但是当我尝试创建一个Servlet时,出现错误,说在编译应用程序时“javax.servlet.http”不存在。

我很确定JBoss Wildfly应用程序有serlvet API,但我不知道如何将所有这些库添加到项目。我可以手动添加它们,但我认为这不是正确的方法。所有必要的Web应用程序API都应默认提供,以便您选择了正确的框架。

我到底做错了什么?

编辑:好的我设法找到wildfly文件夹内的所有API。但是被迫手动添加servlet API让人感觉非常笨重。当您创建项目并添加应用程序服务器 - > Wildfly时,Intellij为web应用程序添加所有api。但是,当你创建一个maven项目并添加web应用程序框架时,servlet api不会添加到项目库中。

回答

0

如果您有Maven项目,您应该使用Maven配置您的依赖项。 IntelliJ只为使用IDEA构建的项目添加库(因为它必须下载jar,构建库并将其全部放入类路径中)。

由于maven是您的构建工具,因此您有责任在您的pom中设置依赖关系。

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