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

Spring Initializr生成的Maven项目在Eclipse中如何指定唯一主类?

报错根因

项目中存在两个包含main方法的Spring Boot启动类(你新增的hello.Application和Spring Initializr默认生成的com.springdockertest.springbootdocker.SpringBootDockerApplication),Spring Boot Maven插件无法自动识别要执行的目标主类,因此抛出该错误。


解决方案1:在Maven插件配置中指定主类

修改pom.xml中spring-boot-maven-plugin的配置,添加<configuration>节点明确指定要使用的主类全限定名即可,示例如下:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <!-- 新增配置指定主类 -->
            <configuration>
                <mainClass>hello.Application</mainClass>
            </configuration>
        </plugin>
    </plugins>
</build>

配置完成后重新执行spring-boot:run即可正常启动。


解决方案2:通过全局属性指定主类

也可以在pom.xml的<properties>节点添加start-class属性指定全局主类,该配置对插件运行、打包等所有场景都生效:

<properties>
    <java.version>11</java.version>
    <!-- 新增全局主类配置 -->
    <start-class>hello.Application</start-class>
</properties>

可选快速解决方式

如果你不需要使用Spring Initializr自动生成的默认启动类com.springdockertest.springbootdocker.SpringBootDockerApplication,直接删除该文件即可消除主类冲突,无需额外修改pom.xml配置。

内容的提问来源于stack exchange,提问作者von spotz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 04:30:05