解决IDEA和CMD中java命令提示错误: 找不到或无法加载主类

一 概述

CMD

D:\Project\Computer-Science-And-Technology\writeExam\farben\src\com\GC>java CommandLineParameter
       错误: 找不到或无法加载主类 CommandLineParameter

IDEA

D:\Project\Computer-Science-And-Technology\writeExam\farben\src\com\GC>java CommandLineParameter
        错误: 找不到或无法加载主类 CommandLineParameter

二 问题分析&解决方法

JDK问题排除:

javac

java

根据上述截图可以排除JDK问题,猜测是IDEA中Terminal的问题,可是使用CMD出现的结果一样,所以排除这些问题,最后问题真正的原因是IDEA中项目java源代码都会使用package指定包路径。

package src.com.GC;

public class CommandLineParameter {

    public static void main(String[] args) {
        System.out.println(args);
        for (String s:args) {
            System.out.println(s);
        }
    }
}

因为我们的类中含有了包路径package src.com.GC,所以我们需要将javac编译生成class文件放入package指定的目录结构中。

javac -d . CommandLineParameter.java // -d表示生成package指定的目录结构 .表示生成的目录结构保存在当前目录

java src.com.GC.CommandLineParameter // 执行package指定的目录结构中的程序

D:\Project\Computer-Science-And-Technology\writeExam\farben\src\com\GC>javac -d . CommandLineParameter.java

D:\Project\Computer-Science-And-Technology\writeExam\farben\src\com\GC>java src.com.GC.CommandLineParameter
[Ljava.lang.String;@15db9742

三  排除包问题

public class Test{
	public static void main(String[] args) {
		System.out.println(args);
        		for (String s:args) {
           		System.out.println(s);
    		}
	}
}

Test.java是不好含有package声明的java源文件

D:\Project\Computer-Science-And-Technology\writeExam\test>javac Test.java

D:\Project\Computer-Science-And-Technology\writeExam\test>java Test
[Ljava.lang.String;@15db9742

当java源文件中不存在包的时候就不用执行javac 编译后的包目录了。

### Spring Boot 无法加载 `com.example.springbootsmbms.DemoApplication` 的解决方案 当遇到 **“错误: 不到无法加载 com.example.springbootsmbms.DemoApplication”** 时,通常是由以下几个原因引起的: #### 1. 路径配置不正确 如果项目的未被正确识别,则可能导致此问题。可以通过以下方式验证并修复: - 确认 `DemoApplication.java` 文件是否存在,并位于正确的包路径下(即 `src/main/java/com/example/springbootsmbms/DemoApplication.java`)。 - 如果使用的是 IDE(如 IntelliJ IDEA),需确认该文件已被标记为。右键点击 `DemoApplication` ,选择 “Set as Main Class”。 #### 2. Maven 构建失败依赖缺失 Maven 配置不当可能会导致编译后的 JAR 文件缺少必要的元数据资源文件。可以尝试重新构建项目以解决问题: ```bash mvn clean compile mvn install mvn spring-boot:run ``` 以上命令会清理旧的构建产物、重新下载依赖项以及运行应用程序[^1]。 #### 3. MANIFEST.MF 文件中的 `Main-Class` 属性丢失 Spring Boot 应用程序需要在 `META-INF/MANIFEST.MF` 中定义入口点。如果没有正确设置 `Main-Class` 属性,JVM 将无法到启动。以下是可能的原因及解决办法: - 检查 `pom.xml` 是否包含如下插件配置: ```xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> ``` - 若手动打包 JAR 文件,请确保 `-Dstart-class=com.example.springbootsmbms.DemoApplication` 参数已传递给 `maven-jar-plugin` 插件[^2]。 #### 4. JDK JVM 版本冲突 有时开发环境使用的 JDK 目标环境中实际运行的应用所支持的版本不同也会引发此异常。建议执行以下操作来排查兼容性问题: - 使用相同版本的 JDK 编译部署应用; - 运行以下命令检查当前系统的 Java 设置是否一致: ```bash java -version javac -version ``` #### 5. 用户目录下的 `.mvn` 文件夹不存在者损坏 某些情况下,本地缓存机制出现问题也可能阻止 Maven 正常工作。具体表现为:`.mvn/wrapper/maven-wrapper.jar` 不见踪影是其他相关组件遗失。此时可采取措施恢复默认状态: - 删除整个工程根目录里的隐藏文件夹 `.mvn`; - 再次初始化 wrapper 工具链: ```bash mvnw.cmd --update-snapshots ``` --- ### 总结 综合上述分析可知,“不到无法加载”的根本原因是多方面的,既可能是源码结构本身存在问题,也有可能源于外部工具链配置失误所致。按照推荐顺序逐一排除干扰因素即可有效定位最终症结所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值