【非path错误】错误: 找不到或无法加载主类

【非path错误】错误: 找不到或无法加载主类 ArrayDemo

【bug现象】

这个坑有点重!本质上还算是GBK和UTF8的坑的延续

image-20201009203736437

图中有两个.java文件和中文文件夹

其中的hello.java是在本机上用记事本写的,默认的是GBK编码。而ArrayDemo.java文件是换电脑前传到GitHub上的,然后又从GitHub拷下来的。默认是UTF8编码

这是hello.java文件的运行结果

image-20201009203540375

而这是ArrayDemo.java文件的运行结果

image-20201009204539613

除了要javac指定utf8外,还有其他坑。。。

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

这个问题的往往是因为 环境变量配置问题

参考 https://www.zhihu.com/question/36537093

知乎的这个问题下的方法我基本上都试过了一遍,发现没有效果。。。于是自己来试验一下


【解决bug的尝试】--01自动导包

中间的输出内容换成中文的 你好 世界

image-20201009205618476

这是在IDE中写一个类error.java

【主要是这里有自动导包】

image-20201009210316993

image-20201009210751437

【如果删掉自动导包呢?】

退出IDEA,再从文件夹中使用IDEA的编辑器/记事本模式打开,最后删掉自动导包

image-20201009210900133

image-20201009211315304

可以看到虽然javac编译时还是需要指定utf8编码,但是删掉自动导包之后使用java命令运行.class文件就没问题了。


【结论】

猜测是 package src.com.feng._冒泡排序;这行中存在中文

javac编译时路径出错(路径变成了乱码)

一种治标不治本的解决方法:删掉自动导包

我相信还有其他更好的办法,未完待续

posted @ 2020-10-09 21:40  傅克  阅读(299)  评论(0编辑  收藏  举报