javac編譯成功,用java運(yùn)行class文件出現(xiàn)“找不到或無(wú)法加載主類” 的問(wèn)題所在很簡(jiǎn)單
學(xué)習(xí)android,順便又學(xué)習(xí)下java.
入門就遇到這樣的問(wèn)題,環(huán)境變量按網(wǎng)上說(shuō)的配好了,直接java 和 javac都有提示出來(lái),說(shuō)明沒(méi)問(wèn)題了,
做了一個(gè)簡(jiǎn)單java,放在e盤根目錄下,在c:下操作javac該java文件成功了,但用java 該class時(shí)卻提示“找不到或無(wú)法加載主類” ,忙活了半天,找了些資料,發(fā)現(xiàn)其實(shí)很簡(jiǎn)單,不是語(yǔ)句錯(cuò)誤,是路徑問(wèn)題classpath的問(wèn)題。
主要是以下兩點(diǎn)要注意:
1、在classpath的最前面要加一個(gè)本目錄路徑,用.表示,由于后面還有java的dt和tools兩個(gè)路徑,所以.后要加;進(jìn)行分隔表示。
2、更為重要的是,在cmd下運(yùn)行javac 和java的時(shí)候,必須在該java文件的目錄下運(yùn)行,這樣生成的class也在該目錄下,java的時(shí)候也會(huì)第一個(gè)就在本目錄下找class文件,就不 會(huì)提示找不到了。這個(gè)cmd運(yùn)行路徑由于一般不太注意,輸入cmd就會(huì)直接到c:\個(gè)人文件夾下,而一般的java文件會(huì)用其它軟件編寫,放在選定的路徑 下,這兩個(gè)路徑很少能主動(dòng)重合,一運(yùn)行當(dāng)然找不到了,但是javac能認(rèn)到,不知為什么java就提示找不到?這點(diǎn)有點(diǎn)奇怪。網(wǎng)上各種解決方法里很少注意 到其實(shí)就是這個(gè)小問(wèn)題造成的找不到類,都想當(dāng)然的以為是在java源文件路徑下運(yùn)行java,那當(dāng)然就找不到基本問(wèn)題所在了。
如果1、2都做了還是沒(méi)變化,那就是該計(jì)算機(jī)改了環(huán)境變量后需要重新啟動(dòng)下讓新的設(shè)置生效,重啟下即可。
解決了以上兩點(diǎn),就不會(huì)再提示“找不到或無(wú)法加載主類”
(注:轉(zhuǎn)載自http://wl1975sdm.blog.sohu.com/220057382.html)