关于Java的“找不到或无法加载主类”
Java編程思想4th第六章的關(guān)于訪問(wèn)權(quán)限和包的筆記總結(jié)時(shí)遇到了一個(gè)關(guān)于package命名及導(dǎo)入的問(wèn)題。
環(huán)境:Ubuntu 16.04.3 LTS x86_64
首先,我要安裝部署Java的開(kāi)發(fā)環(huán)境,如下圖所示:
由于我的遠(yuǎn)程主機(jī)上還沒(méi)有安裝Java開(kāi)發(fā)環(huán)境,因此查看Java版本時(shí),系統(tǒng)提示我"Java"命令暫不可使用,我使用apt-get安裝了1.8版本的openjdk。安裝好之后,如下圖所示:
Java開(kāi)發(fā)環(huán)境搭建時(shí)是需要進(jìn)行額外配置的,主要是四個(gè)環(huán)境變量的配置:JAVA_HOME、JRE_HOME、CLASSPATH、PATH。前三個(gè)環(huán)境對(duì)于我這樣的新人來(lái)說(shuō),顯然是還不知道其作用和意義的,最后一個(gè)PATH環(huán)境變量倒是很熟悉。
PATH環(huán)境變量是用來(lái)簡(jiǎn)化命令的,當(dāng)你在Linux的終端中通過(guò)shell來(lái)與計(jì)算機(jī)交互時(shí),你需要向shell發(fā)出指令,shell接收之后解析執(zhí)行,對(duì)于每個(gè)命令你必須明確指明,明確指明指的是其所在的絕對(duì)路徑,比如我要ping一個(gè)網(wǎng)址,如下圖所示:
上圖中,我指出我要執(zhí)行的程序的具體路徑,然后這個(gè)程序接受一個(gè)網(wǎng)址參數(shù)。圖中輸出的結(jié)果和直接用ping沒(méi)什么不同,除了如何指出ping這個(gè)程序之外。實(shí)際上,每個(gè)命令都是硬盤(pán)上某個(gè)文件夾下面的程序,要執(zhí)行該程序就得告訴計(jì)算機(jī)它在哪里,不然計(jì)算機(jī)怎么知道呢?每次執(zhí)行一個(gè)命令都要指出這個(gè)程序具體在哪,但是如果這個(gè)程序的具體路徑很長(zhǎng)怎么辦?就像下面的例子一樣:
?
難道用戶每次都要寫(xiě) /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 這么長(zhǎng)長(zhǎng)一串嗎?這顯然是很費(fèi)力的。?因此計(jì)算機(jī)中使用一個(gè)PATH環(huán)境變量來(lái)幫助減少那些不必要的輸入,方法是在PATH環(huán)境變量事先存儲(chǔ)一些路徑,當(dāng)我們只寫(xiě)程序名稱(chēng)時(shí),系統(tǒng)自動(dòng)在PATH環(huán)境變量中的路徑下搜索該程序名稱(chēng),如果找到就執(zhí)行,找不到就報(bào)錯(cuò)。
?
待續(xù)...
轉(zhuǎn)載于:https://www.cnblogs.com/pluse/p/7358086.html
總結(jié)
以上是生活随笔為你收集整理的关于Java的“找不到或无法加载主类”的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: @property与@synthesiz
- 下一篇: 怎样封装一个自己的mvc框架(七)