問題: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是我問題解決的問題。