Spring Security 处理org.springframework. Boot .autoconfigure.context.PropertyPlaceholderAutoConfiguration和“ClassNotFoundException:javax”上的条件时出错

9bfwbjaz  于 5个月前  发布在  Spring
关注(0)|答案(2)|浏览(90)

1)当执行此错误时,我们检查并搜索并尝试了给出的每一个解决方案,但其中任何一个都有效,我不知道为什么。
4.0.0 org.springframework. Boot spring- Boot -starter-parent 3.2.0 com.wahch todoapp 0.0.1-SNAPSHOT todoapp Todo app<java.version>19.0.2</java.version> org.springframework. Boot spring- Boot -starter-data-mongodb org.springframework. Boot spring- Boot -starter-web

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>6.1.1</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-api</artifactId>
        <version>0.11.5</version>
    </dependency>
    <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-impl</artifactId>
        <version>0.11.5</version>
    </dependency>
    <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-jackson</artifactId>
        <version>0.11.5</version>
    </dependency>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.10.1</version>
    </dependency>
    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>5.7.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-crypto</artifactId>
        <version>6.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-core</artifactId>
        <version>6.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>6.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>5.5.2</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version> <!-- Use the appropriate version -->
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-autoconfigure</artifactId>
        <version>3.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
    </dependency>

</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

字符串
与此同时,这个错误只是不断出现在“java.lang.NoClassDefFoundError:javax/servlet/Filter”在解决这个错误的追求上面出现的错误xd
我试着改变一些依赖的版本,就像有人在stackoverflow中说的那样,但没有改变任何东西,对于没有找到javax的类,我试着做run/configuration,但当我试图添加一个springboot应用程序运行配置时,我没有在运行配置中找到它,可能是因为它是一个社区版IDE。

jqjz2hbq

jqjz2hbq1#

这里的主要问题是框架版本的混合
要修复它,你必须删除

<dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>5.5.2</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version> <!-- Use the appropriate version -->
        <scope>provided</scope>
    </dependency>

字符串
另外,请确保将所有项目的导入从javax.x替换为jakarta.x。因为从Sping Boot 3.x和Spring Framework 6.x开始,所有javax.x都替换为jakarta.x
更多详情请参阅下一个资源。Spring Boot 3.0 Migration

wpcxdonn

wpcxdonn2#

你使用的是哪个版本的tomcat?javax.servlet-api 4.0.1需要tomcat高于9。

你应该检查一下这部分。

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
    <version>6.2.0</version>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
    <version>5.5.2</version>
</dependency>

字符串
我觉得你可以选一个。

相关问题