Maven找不到包和符号。

6

我有一个应用程序,其中包含以下类: (部分类):

@SessionScoped
@Named
public class UserSessionBean implements Serializable {

    @javax.ws.rs.core.Context private HttpServletRequest httpRequest;

在执行mvn compile时,我遇到了这个错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.1:compile (default-compile) on project highway-web: Compilation failure: Compilation failure:
[ERROR] /home/kelevra/java/git/ttkHighway/highway-web/src/main/java/com/kmware/ttk/highway/beans/session/UserSessionBean.java:[28,25] package javax.servlet.http does not exist
[ERROR] 
[ERROR] /home/kelevra/java/git/ttkHighway/highway-web/src/main/java/com/kmware/ttk/highway/beans/session/UserSessionBean.java:[40,38] cannot find symbol
[ERROR] symbol  : class HttpServletRequest
[ERROR] location: class com.kmware.ttk.highway.beans.session.UserSessionBean
[ERROR] -> [Help 1]

在使用 IDEA 进行开发时没有这样的问题,那可能是什么原因?


1
你需要添加HttpServletRequest的依赖。 - khmarbaise
1个回答

13

Java文件UserSessionBean无法找到类HttpServletRequest。

您应该检查pom文件中声明的依赖项。确保您包含了:

 <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
  </dependency>

你可以尝试使用 mvn clean install 命令,看是否会产生相同的错误。

另外,你是从控制台运行项目还是从集成开发环境中运行的呢?


虽然有点晚了... 发现这真的很有帮助! 但是,如果您在servlet中使用注释,则需要添加另一个依赖项:javax.servlet-api总的来说,感谢楼主。 - Jero Dungog

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接