错误:无法访问过滤器

Pri*_*yan 2 java spring spring-mvc spring-security java-ee

这是我的spring-security-loginform-annotation项目的错误

我是从mkyong网站链接中提到的

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project spring-security-loginform-annotation: Compilation failure: Compilation failure:
[ERROR] \Projects\SpringKT\spring-security-custom-login-form-annotation\src\main\java\com\mkyong\config\SecurityConfig.java:[12,7] error: cannot access Filter
[ERROR] \Projects\SpringKT\spring-security-custom-login-form-annotation\src\main\java\com\mkyong\config\core\SpringSecurityInitializer.java:[5,7] error: cannot access ServletException
Run Code Online (Sandbox Code Playgroud)

这是我的项目细节

版本

<spring.version>4.0.6.RELEASE</spring.version>
<spring.security.version>3.2.3.RELEASE</spring.security.version>
<jstl.version>1.2</jstl.version>
<javax.servlet.version>3.1.0</javax.servlet.version>
Run Code Online (Sandbox Code Playgroud)

我像这样运行 mvn clean package install jetty:run

但它给出了上述错误

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {//Line 12

public class SpringSecurityInitializer extends AbstractSecurityWebApplicationInitializer {//Line 05
Run Code Online (Sandbox Code Playgroud)

Ser*_*sta 7

它有效,但是pom坏了.

在声明的依赖javax.servlet-api范围拼写错误provider,它应该是provided(行家给我你的错误之前,这是一个警告).

并且没有提供webxml(什么是正确的),但是<failOnMissingWebXml>false</failOnMissingWebXml>pom => maven在我修复第一个问题时给了我一个错误.

我通过<plugin>plugins以下位置添加新声明来修复它:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.3</version>
    <configuration>
      <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
  </plugin>
Run Code Online (Sandbox Code Playgroud)