idea 错误: 找不到或无法加载主类

本文记录了解决Vue+SpringBoot项目启动时遇到的两个常见错误:一是使用过时API导致的编译错误,二是找不到主类的错误。通过修改配置类实现方式和清理无关导入,成功启动项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我滴的妈呀,找遍网上所有方法,还好最后解决了,顺便把这过程记录一下,太痛苦。

项目一直能运行,今天突然就不能运行了,用的vue+springboot搭建的项目。

debug报错如下:

 错误: 找不到或无法加载主类大全

messages报错如下:

D:\eclipse\MyBlog-master\dam\src\main\java\com\dam\dam\config\CorsConfig.java使用或覆盖了已过时的 API。
[INFO] /D:/eclipse/MyBlog-master/dam/src/main/java/com/dam/dam/config/CorsConfig.java: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /D:/eclipse/MyBlog-master/dam/src/main/java/com/dam/dam/controller/AllInfosController.java:[5,48] 程序包com.sun.org.apache.xml.internal.security不存在

首先,找问题的时候,俺的方向就错了,不应该只盯着debug报错,也要看messages报错。

CorsConfig.java使用或覆盖了已过时的 API。

我原本的代码 类似这种, extends WebMvcConfigurerAdapter 是过时的。

@Configuration
public class WebAppConfig extends WebMvcConfigurerAdapter{
 
    @Autowired
    private UserIDHandlerInterceptor userIDHandlerInterceptor;
 
    /**
     * addPathPatterns 添加拦截规则
     * excludePathPatterns 排除拦截规则
     *
     * @param registry
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(userIDHandlerInterceptor).addPathPatterns("/**/*");
    }
}

 extends WebMvcConfigurerAdapter过时,改成 implements WebMvcConfigurer 

@Configuration
public class CorsConfig  implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        System.out.println("----------------------");
        //设置允许跨域的路径
        registry.addMapping("/**")
                //设置允许跨域请求的域名
                .allowedOrigins("*")
                //这里:是否允许证书 不再默认开启
                .allowCredentials(true)
                //设置允许的方法
                .allowedMethods("GET", "POST", "DELETE", "PUT")
                //跨域允许时间
                .maxAge(3600);
    }
}

第一个问题解决了,第二个

程序包com.sun.org.apache.xml.internal.security不存在

这个错误非常奇妙,在application中我import com.sun.org.apache.xml.internal.security.Init;,但是实际上我并没有用到他,import了还是灰的(如图所示),我就把他删掉。然后第二个问题解决了。

就是这样子

再运行项目,就能启动起来了,至此,凡是用不到的赶紧删掉,删干净,另外“ 错误: 找不到或无法加载主类”有很多情况,也不要盲目的就去网上搜搜搜,自己多想多想。

如上是俺的解决方案

每个人的问题各异,这里有一个博主写  错误: 找不到或无法加载主类 (汇总贴),还没解决的小伙伴可以看看。

错误: 找不到或无法加载主类 (汇总贴) : http://www.luyixian.cn/news_show_262115.aspx

 

### 解决 IntelliJ IDEA 不到无法加载 #### 一、确认编译状态 确保项目已成功编译。如果代码未被编译,则不会生成相应的 `.class` 文件,这会引发不到无法加载的问题[^2]。 ```bash # 使用命令行工具验证是否有.class文件存在 find . -name "*.class" ``` #### 二、清理与重建工程 尝试通过菜单栏中的 `Build -> Rebuild Project` 来完全重新构建整个项目结构。有时候旧版本残留可能会干扰新版本的正常工作,所以建议先做一次彻底清理再重试[^3]。 #### 三、检查配置项 访问 `Run/Debug Configurations` 对话框 (可通过点击顶部工具条上的绿色箭头旁边的下拉列表来到),核实其中关于入口点(`Main class`) 的设定是否正确指向了实际存在的 Java 路径[^4]。 #### 四、Maven 构建辅助 对于基于 Maven 的项目来说,在执行常规 Build 前先行调用 `mvn clean install` 可能有助于解决问题。这是因为某些情况下标准 Build 流程可能跳过了必要的依赖解析环节。 ```xml <!-- pom.xml 中定义好项目的打包方式 --> <packaging>jar</packaging> ... <build> <plugins> <!-- 插件配置省略... --> </plugins> </build> ``` #### 五、刷新索引和缓存 当遇到持续性的异常状况时,可以考虑清除 IDE 内部维护的各种临时数据以及外部资源映射表单。具体操作为:`File -> Invalidate Caches / Restart` ,选择 `Invalidate and Restart` 完成重启过程后再观察情况变化。 #### 六、手动调整 IML 配置 有时导入第三方库其他复杂场景可能导致自动同步失败,此时可手工编辑位于 `.idea/modules/<module>.iml` 下的相关 XML 文档以修正潜在偏差。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值