SpringBoot中未发现类定义错误

ercv8c1e  于 2023-03-02  发布在  Spring
关注(0)|答案(1)|浏览(147)

我试图从互联网上运行该项目,这里是一个错误,我得到了:

2023-02-28 20:14:28.225 ERROR 13204 --- [           main] o.s.boot.SpringApplication               : Application run failed

java.lang.NoClassDefFoundError: org/springframework/core/NativeDetector
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.<init>(AbstractAutowireCapableBeanFactory.java:180) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.<init>(DefaultListableBeanFactory.java:193) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.context.support.GenericApplicationContext.<init>(GenericApplicationContext.java:113) ~[spring-context-5.3.2.jar:5.3.2]
    at org.springframework.web.context.support.GenericWebApplicationContext.<init>(GenericWebApplicationContext.java:81) ~[spring-web-5.3.2.jar:5.3.2]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.<init>(ServletWebServerApplicationContext.java:118) ~[spring-boot-2.4.1.jar:2.4.1]
    at org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext.<init>(AnnotationConfigServletWebServerApplicationContext.java:72) ~[spring-boot-2.4.1.jar:2.4.1]
    at org.springframework.boot.ApplicationContextFactory.lambda$static$0(ApplicationContextFactory.java:48) ~[spring-boot-2.4.1.jar:2.4.1]
    at org.springframework.boot.SpringApplication.createApplicationContext(SpringApplication.java:597) ~[spring-boot-2.4.1.jar:2.4.1]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) ~[spring-boot-2.4.1.jar:2.4.1]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1309) ~[spring-boot-2.4.1.jar:2.4.1]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1298) ~[spring-boot-2.4.1.jar:2.4.1]
    at com.isolutions4u.onlineshopping.OnlineShoppingApplication.main(OnlineShoppingApplication.java:11) ~[classes/:na]
Caused by: java.lang.ClassNotFoundException: org.springframework.core.NativeDetector
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na]
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na]
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
    ... 12 common frames omitted

Process finished with exit code 1

这里是我的pom.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.1</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.isolutions4u</groupId>
    <artifactId>online-shopping</artifactId>
    <version>0.0.2-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>online-shopping</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.3.6.Final</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.0.3.Final</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.webflow</groupId>
            <artifactId>spring-webflow</artifactId>
            <version>2.5.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-taglibs</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.3.14</version>
        </dependency>

    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <configuration>
                    <goals>install</goals>
                    <autoVersionSubmodules>true</autoVersionSubmodules>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

我已经尝试更改依赖项中的某些内容,但没有帮助
我只想知道为什么还没开始

fae0ux8s

fae0ux8s1#

此错误消息表明Java虚拟机(JVM)无法找到类"NativeDetector",该类是Spring框架核心库的一部分。
以下是您可以尝试解决此问题的一些方法:
1.请确保类路径中包含所需版本的Spring Framework库,您可以通过查看项目构建配置文件中列出的依赖项(例如,Maven的pom.xml,Gradle的build.gradle)来检查这一点。
1.检查环境中的类路径设置是否正确。这可以通过打印"CLASSPATH"环境变量的值来完成。还可以通过运行以下命令来检查JVM使用的类路径:
java-verbose:类您的.应用程序. MainClass
这将打印出JVM加载的所有类。
1.请检查Spring Framework JAR文件是否损坏。尝试再次下载JAR文件并替换旧文件。
1.检查是否为项目使用了正确版本的Spring Framework库。某些版本的Spring Framework可能依赖于其他库,或者需要特定版本的Java。
如果您使用的是Eclipse或IntelliJ之类的IDE,请尝试清理并重新构建项目。这将确保所有必需的文件都包含在类路径中。
我希望这些建议能帮助您解决NoClassDefFoundError。如果问题仍然存在,请提供有关项目设置的详细信息,以及您为解决此问题所采取的步骤。

相关问题