关于命令行上执行java命令的错误分析 - Could not find or load main class
生活随笔
收集整理的這篇文章主要介紹了
关于命令行上执行java命令的错误分析 - Could not find or load main class
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
成功的安裝了JDK和Eclipse后,在開發測試Java工程中,很少會遇到開發環境問題。
這都歸功于Eclise通過工程(project)和包(package)把這些管理好。
但偶爾在命令行下編譯和運行Java文件時,還會遇到如下錯誤:
(以下示例都是在Win7上進行)
D:\jtest> java J_Hello
調試此類問題可遵循如下步驟:
1. 檢查環境變量PATH和CLASSPATH是否正確設置
2. 檢查java源文件中的包名(package)是否正確
下面一些有關環境變量常用命令和注意事項。
1. 在Windows的控制臺命令窗口中,通過echo和set命令查看、設置和修改和刪除環境變量 (僅對命令窗口有效)
2. 通過Windows的圖形界面,查看、設置和修改和刪除環境變量(全局有效)
詳細內容,請參考 博文:
注意事項:
1. Windows對變量的大小寫不區分。path,PATH和Path表示同一個變量。2. PATH和CLASSPATH變量可包含一個列表,相鄰的表項用分號(;)隔開。
? ? PATH=.;D:\j2sdk\bin
? ? CLASSPATH=.;D:\j2sdk\lib
1. 在java源文件開頭沒有包聲明語句 package your_package;?
D:\jtest> javac J_Hello.java
D:\jtest> java J_Hello
Hello, the Java world!
2. 在java源文件開頭有包聲明語句 package your_package;?
D:\jtest>javac J_Hello1.java
D:\jtest>java J_Hello1
Error: Could not find or load main class J_Hello1
錯誤原因:
編譯含有包聲明語句的java源程序文件的格式是:
? ? javac -d your_path your_class.java
此命令能在 your_path/your_package/ 下生成 your_class.class。
上面的命令中沒有-d選項,javac會在當前目錄下生成J_Hello1.class(沒有報錯)。
但是執行java命令,會因為找不到class而出錯。
解決方法:
1. 在當前目錄下手工創建com/mypkg/test目錄,將移動J_Hello1.class到該目錄下。
2. 用 javac -d . J_Hello1.java 編譯,將直接生成./com/mypkg/test/J_Hello1.class。?
D:\jtest>javac -d . J_Hello1.java
D:\jtest>java com.mypkg.test.J_Hello1
Hello, the Java world!
以下是實例程序:
// J_Hello.java public class J_Hello {public static void main(String[] args) {System.out.println("Hello, the Java world!");} }// J_Hello1.java package com.mypkg.test; public class J_Hello1 {public static void main(String[] args) {System.out.println("Hello, the Java world!");} }
歡迎提出寶貴意見,共同學習提高。
尊重原創,歡迎轉載,請注明出處。
總結
以上是生活随笔為你收集整理的关于命令行上执行java命令的错误分析 - Could not find or load main class的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos+nginx+wordpre
- 下一篇: CCNA培训简介