Maven 构建成功,但编译的类文件包含未解决的类型错误

问题描述 投票:0回答:1

我有一个编译为 WAR 文件的项目,当我使用“干净安装”来构建我的项目时,它给出“构建成功”,但是当我反编译某些文件时,它在反编译文件中给出以下行:

package service.auth;

import FilterChain;
import FilterConfig;
import ServletException;
import ServletRequest;
import ServletResponse;
import java.io.IOException;
 
public class XSSFilter {
 public void init(FilterConfig paramFilterConfig) throws ServletException {
    throw new Error("Unresolved compilation problems: \n\tFilterConfig cannot be resolved to a type\n\tServletException cannot be resolved to a type\n");
  }
  
  public void destroy() {
    throw new Error("Unresolved compilation problem: \n\tThe method destroy() of type XSSFilter must override or implement a supertype method\n");
  }
  
  public void doFilter(ServletRequest paramServletRequest, ServletResponse paramServletResponse, FilterChain paramFilterChain) throws IOException, ServletException {
    throw new Error("Unresolved compilation problems: \n\tServletRequest cannot be resolved to a type\n\tServletResponse cannot be resolved to a type\n\tFilterChain cannot be resolved to a type\n\tServletException cannot be resolved to a type\n\tThe constructor XSSRequestWrapper(HttpServletRequest) refers to the missing type HttpServletRequest\n\tHttpServletRequest cannot be resolved to a type\n");
  }
}

尽管源 Java 文件包含正确的导入,但不知何故,导入在反编译文件中没有正确反映。以下是 Java 源代码的导入:

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

所需的 jar 文件“javax.servlet-api”已正确包含在 pom.xml 中,并且也没有编译错误,不知何故,在 maven 构建包含 war 文件夹的目标文件夹后,存在以下几个问题,主要与 servlet 有关-api 类仅供参考。我知道这一定是我的一些愚蠢的错误,但我找不到什么。

PS:由于某种原因,我还必须在我的 pom.xml 中包含“jakarta.servlet-api”jar,而且当我通过清理和重新启动服务器直接将战争部署到我的 jboss 服务器时,它运行良好,并且应用程序也在工作。

有人以前遇到过这种错误吗?我只是想要一个思考的方向来解决这个问题。谢谢!!

java spring maven servlets spring-tool-suite
1个回答
0
投票

您正在使用 Eclipse 编译器,它可以为无法编译的代码发出如下所示的代码。

解决方法是修复所有编译错误,以便从命令行构建项目:

mvn clean package 
© www.soinside.com 2019 - 2024. All rights reserved.