问题:EditPlus提示错误:找不到或无法加载主类。
原因:换了另外一台电脑,忘了什么时候,环境变量被误删了。
解决问题:
1.检查文件名和public修饰的类名是否一致。
2.文件查看时,有没有隐藏文件扩展名。(选中,显示文件扩展名)
3.确定有main函数
class Hello3 {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
4.带包名
有报名的时候,编译命令是
javac -d . HiveJdbcClient.java
这里在当前目录会生成一个 test目录,里面就是 HiveJdbcClient.class 文件
运行的时候命令:
java test.HiveJdbcClient
5.依赖其他jar的运行
依赖了某个jar 包,在编译和运行时也要加上依赖的jar包。需要注意的是,使用 java -cp的时候:
5.1:在Linux下面ClassPath前面是一个点号加一个冒号
5.2 :在Windows下面ClassPath前面是一个点号加一个分号
编译:
javac -cp .;D:\ochadoop4.0.1\hive-0.13.1-cdh5.2.1-och4.0.1\user_lib\hive--jdbc-0.13.1-cdh5.2.1.jar HiveJdbcClient.java
运行:
java -cp .;D:\ochadoop4.0.1\hive-0.13.1-cdh5.2.1-och4.0.1\user_lib\hive-jdbc-0.13.1-cdh5.2.1.jar HiveJdbcClient
6.检查EditPlus编译与执行快捷键的设置
(用记事本的,出现编译通过,执行不过的问题,主要可能是在环境变量配置出现问题)
用EditPlus,我之前自己设置了快捷键。先检测这里有没有出错:(按照如下两个图配置)
7.检查PATH和CLASSPATH
7.1:检查JAVA_HOME
(要有JAVA_HOME的,以后用不同的jdk版本,也不用去改动PATH)
7.2 :检查PATH
7.3:检查CLASSPATH
(这个我自认为没有配错,以前都好用的,不知道什么时候给更改了)
必须是如下:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\toos.jar;
问题解决了。
解决方法中:1-6是我由这次问题想到的进行补充的,7是我问题解决的问题。