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

网友投稿 475 2022-11-23


解决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 编译后的包目录了。

总结


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用IDEA搭建ssm框架的详细图文教程
下一篇:Java中的线程死锁是什么?如何避免?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~