xxMacBook-Pro-2:redis-6.0.6 want$ cd /Users/want/IdeaProjects/mavenweb/src/main/java/com/xes/EffectiveJava/
xxMacBook-Pro-2:EffectiveJava want$ /usr/bin/javac SimpleDemo.java
xxMacBook-Pro-2:EffectiveJava want$ /usr/bin/java SimpleDemo
错误: 找不到或无法加载主类 SimpleDemo
xxMacBook-Pro-2:EffectiveJava want $ /usr/bin/java com.xes.EffectiveJava.SimpleDemo
错误: 找不到或无法加载主类 com.xes.EffectiveJava.SimpleDemo
xxMacBook-Pro-2:redis-6.0.6 want$ cd /Users/want/IdeaProjects/mavenweb/src/main/java/
xxMacBook-Pro-2:EffectiveJava want$ /usr/bin/java SimpleDemo
xxMacBook-Pro-2:java want $ java com.xes.EffectiveJava.SimpleDemo
3
总结:
一、java执行class文件是根据CLASSPATH指定的地方来找,不是我们理解当前目录。如果希望它查询当前目录,需要在CLASSPATH中加入“.;”,代表当前目录。
二、java执行class文件对package的路径是强依赖的。它在执行的时候会严格以当前用户路径为基础,按照package指定的包路径转化为文件路径去搜索class文件。各位同学以后注意就OK啦。
[参照]
https://blog.csdn.net/wengduke/article/details/85116133