【问题标题】:Springboot application throws NoClassDefFound exceptionSpring Boot 应用程序抛出 NoClassDefFounderror 异常
【发布时间】:2018-10-22 19:35:21
【问题描述】:

我在使用 cxf-jaxrs、spring boot 和 maven 在 spring 工具套件上运行 Restful Web 服务应用程序时遇到以下错误。

我正在使用以下内容:-

STS-3.9.0 release
jdk-1.8.0-25

Eclipse - oxygen

日志:请找到完整的日志。

 .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::       (v1.5.13.RELEASE)

2018-05-12 21:00:20.545  INFO 7832 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication on

D1Y89H52 PID 7832 (C:\Users\monika\Documents\workspace-sts-3.9.0.RELEASE\demo\target\classes 由莫妮卡开始 C:\Users\monika\Documents\workspace-sts-3.9.0.RELEASE\demo) 2018-05-12 21:00:20.549 INFO 7832 --- [main] com.example.demo.DemoApplication:没有活动配置文件集, 回退到默认配置文件:默认 2018-05-12 21:00:20.608 INFO 7832 --- [主] s.c.a.AnnotationConfigApplicationContext:刷新 org.springframework.context.annotation.AnnotationConfigApplicationContext@2bea5ab4: 启动日期 [2018 年 5 月 12 日星期六 21:00:20 IST];上下文层次的根 2018-05-12 21:00:20.636 错误 7832 --- [main] os.boot.SpringApplication:应用程序启动失败 -2018-05-1221:00:20.545INFO7832---[main] com.example.demo.DemoApplication:StartingDemoApplication onD1Y89H52 和 PID7832 (C:\Users\monika\Documents\workspace-sts-3.9.0.RELEASE\demo\target\classes 由monikain开始 C:\Users\monika\Documents\workspace-sts-3.9.0.RELEASE\demo) 2018-05-1221:00:20.549INFO7832---[主要] com.example.demo.DemoApplication:Noactiveprofileset, 回退到默认配置文件:默认 2018-05-1221:00:20.608 INFO7832---[main] s.c.a.AnnotationConfigApplicationContext:Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@2bea5ab4: startupdate[SatMay1221:00:20IST2018];rootofcontext 层次结构2018-05-1221:00:20.636ERROR7832---[主要] os.boot.SpringApplication:Applicationstartupfailed java.lang.NoClassDefFoundError: org/springframework/expression/ParserContext 在 java.lang.ClassLoader.defineClass1(NativeMethod)~[na:1.8.0_102] at java.lang.ClassLoader.defineClass(UnknownSource)~[na:1.8.0_102] at java.security.SecureClassLoader.defineClass(UnknownSource) ~[na:1.8.0_102] atjava.net.URLClassLoader.defineClass(未知 来源)~[na:1.8.0_102] 在 java.net.URLClassLoader.access$100(UnknownSource)~[na:1.8.0_102] atjava.net.URLClassLoader$1.run(UnknownSource)~[na:1.8.0_102] at java.net.URLClassLoader$1.run(UnknownSource)~[na:1.8.0_102] at java.security.AccessController.doPrivileged(NativeMethod) ~[na:1.8.0_102] atjava.net.URLClassLoader.findClass(UnknownSource) ~[na:1.8.0_102] atjava.lang.ClassLoader.loadClass(UnknownSource) ~[na:1.8.0_102] 在 sun.misc.Launcher$AppClassLoader.loadClass(UnknownSource)~
[na:1.8.0_102] 在 java.lang.ClassLoader.loadClass(未知来源) ~[na:1.8.0_102] 在 org.springframework.context.expression.StandardBeanExpressionResolver.(StandardBeanExpressionResolver.java:69) ~[spring-context-4.3.17.RELEASE.jar:4.3.17.RELEASE] 在 org.springframework.context.support.AbstractApplicationContext.prepareBeanFactory(AbstractApplicationContext.java:630) ~[spring-context-4.3.17.RELEASE.jar:4.3.17.RELEASE] 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:518) ~[spring-context-4.3.17.RELEASE.jar:4.3.17.RELEASE] atorg.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.13.RELEASE.jar:1.5.13.RELEASE] 在 org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.13.RELEASE.jar:1.5.13.RELEASE] 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.13.RELEASE.jar:1.5.13.RELEASE] 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.13.RELEASE.jar:1.5.13.RELEASE] 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.13.RELEASE.jar:1.5.13.RELEASE] 在 com.example.demo.DemoApplication.main(DemoApplication.java:10) [classes/:na] 引起:java.lang.ClassNotFoundException: org.springframework.expression.ParserContext 在 java.net.URLClassLoader.findClass(Unknown Source) ~[na:1.8.0_102] at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.8.0_102] at sun.misc.Launcher$AppClassLoader.loadClass(未知来源) ~[na:1.8.0_102] 在 java.lang.ClassLoader.loadClass(未知来源) ~[na:1.8.0_102] ... 省略了 21 个常用帧 2018-05-12 21:00:20.638 信息 7832 --- [主要] s.c.a.AnnotationConfigApplicationContext : 结束 org.springframework.context.annotation.AnnotationConfigApplicationContext@2bea5ab4: 启动日期 [2018 年 5 月 12 日星期六 21:00:20 IST];上下文根

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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.13.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
            <version>3.1.11</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

【问题讨论】:

    标签: spring spring-boot


    【解决方案1】:

    尝试添加 spring-expression 依赖项:

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
        <version>whatever ver. is comatible with your ver. of spring boot</version>
    </dependency>
    

    或者

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    

    这可能会带来缺失的依赖。

    【讨论】:

      猜你喜欢
      • 2018-09-06
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 2016-09-26
      • 2019-09-19
      • 2019-09-16
      • 2016-06-26
      • 1970-01-01
      相关资源
      最近更新 更多