You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring应用启动报错:ClassNotFoundException: DemoApplication 如何修复?

问题描述

我通过Spring Initializr创建了一个新的Spring应用。

我的build.gradle配置如下:

plugins {
    id 'java'
    id 'org.springframework.boot' version '2.7.5'
    id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '19'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'org.springframework.security:spring-security-test'
}

tasks.named('test') {
    useJUnitPlatform()
}

DemoApplication.java文件内容:

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);
    }

}

项目结构截图

点击运行按钮后程序报错:Caused by: java.lang.ClassNotFoundException: DemoApplication,请问该如何修复?

修复方案
  • 修正项目目录结构:从截图可见,DemoApplication.java直接放在src/main/java根目录下,但代码里声明的包是com.example.demo,路径和包名不匹配。需要在src/main/java下创建三级子目录com/example/demo,把DemoApplication.java移入该目录,保证文件路径与包名完全对应。
  • 重新编译项目:执行Gradle命令清理旧产物并重新构建:
    # Linux/Mac
    ./gradlew clean build
    # Windows
    gradlew clean build
    
    确认build/classes/java/main/com/example/demo目录下生成了DemoApplication.class文件。
  • 检查IDE运行配置:删除旧的运行配置,重新创建时指定完整类名com.example.demo.DemoApplication作为主类,避免IDE找不到正确的类路径。
  • 验证JDK版本:确保本地安装的JDK版本为19或兼容版本,匹配build.gradle中sourceCompatibility = '19'的配置,防止版本不匹配导致编译失败。

内容的提问来源于stack exchange,提问作者Đỗ Như Vỹ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 17:45:47