Spring Boot java.lang.NoClassDefFoundError:///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

fhity93d  于 2022-11-05  发布在  Spring
关注(0)|答案(3)|浏览(253)

我是Springboot的新手,希望有一个运行的示例项目。
我在Intellij中执行时收到以下错误:java.lang.NoClassDefFoundError:///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

**POM是:**https://maven.apache.org/xsd/maven-4.0.0.xsd“〉4.0.0 org.springframework. Boot spring-boot-starter-parent 2.2.2.RELEASE com.示例演示0.0.1-SNAPSHOT演示Spring引导的演示项目

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

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

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>4.1.6.RELEASE</version>
    </dependency>
</dependencies>

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

控制器代码为:

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

public class HelloController {

    @Controller
    @RequestMapping(value = "/test")
    public class TestController {
        @RequestMapping (value="map")
        public String getMeSomething()
        {
            return "Got this from Srini!";
        }
    }
}

演示应用程序为:

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

有什么想法?

ajsxfq5m

ajsxfq5m1#

我相信类UriTemplateHandler并不存在于您的Spring依赖版本中

<dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>4.1.6.RELEASE</version>
</dependency>

根据https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/util/UriTemplateHandler.html,它从4.2版本开始就存在了。也许升级到4.2版本会解决你的问题?(在下载c的依赖项之后)

gpfsuwkq

gpfsuwkq2#

删除spring-web*依赖项 * 的版本
Sping Boot 的每个版本都提供了一个它所支持的依赖项列表。实际上,您不需要在构建配置中提供这些依赖项的任何版本,因为Spring Boot会为您管理这些版本。当您升级Spring Boot本身时,这些依赖项也会以一致的方式升级。
See more

k4emjkb1

k4emjkb13#

您需要将spring web依赖项添加到您的pom文件:

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

相关问题