最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

cmd編譯運(yùn)行java程序的方法

 更新時(shí)間:2022年03月17日 10:09:10   作者:Harris-H  
本文主要介紹了cmd編譯運(yùn)行java程序的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

0.寫(xiě)入程序

public class HelloWorld {
    public static void main(String[] args){
        System.out.println("Hello, World!");
    }
}

1.編譯

javac HelloWorld.java -d .
  • javac: java語(yǔ)言的編譯器,使用命令行編譯Java源文件,輸出字節(jié)碼文件.class.
  • sourcefiles: java源文件的相對(duì)路徑,也可以使用絕對(duì)路徑。
  • options: 這里使用的是-d, 即directory簡(jiǎn)寫(xiě),表示輸出字節(jié)碼的位置,".“表示當(dāng)前目錄,”…“表示上級(jí)目錄,”…\bin"表示在當(dāng)前目錄的上級(jí)目錄bin,以此類(lèi)推。

在這里插入圖片描述

在這里插入圖片描述

2.運(yùn)行

java [options] classname [args]
  • java: 執(zhí)行程序命令。執(zhí)行順序是啟動(dòng)JRE->加載class->調(diào)用class的main()方法,main方法必須是public static void main(String[] args)的樣子。
  • classname: 要執(zhí)行的class文件的名稱(chēng),要加包名,中間以’.'隔開(kāi),比如java.lang.String
  • options: 一些可選參數(shù)[可參考Java文檔]

成功打印出字符串: Hello, World!

java HelloWorld

在這里插入圖片描述

3.將class輸出到指定package

E:\myJava\javaSrc>javac HelloWorld.java -d ..

注意存放路徑是"…"即上級(jí)目錄,它表示"hello"這個(gè)package的生成路徑,class文件會(huì)生成在hello包中,如果hello不存在,程序?qū)⒆詣?dòng)創(chuàng)建之,在桌面上的結(jié)果,實(shí)際就是一個(gè)普通目錄而已:

img

運(yùn)行

java運(yùn)行程序的命令是:

E:\myJava\javaSrc>java ../hello.HelloWorld

錯(cuò)誤:找不到或無(wú)法加載主類(lèi)

結(jié)果卻是提示找不到class,如果我們現(xiàn)在將CMD打開(kāi)到hello包所在同級(jí)目錄下,即"myJava"目錄,運(yùn)行:

E:\myJava>java hello.HelloWorldHello,World!

程序成功輸出了,也就是java解釋器定位到了class文件。其實(shí),java的解釋器只能找到當(dāng)前路徑下和CLASSPATH變量存儲(chǔ)路徑中的包,所以我必須先把CMD的路徑切換到hello的同級(jí)目錄下,然后再運(yùn)行java hello.HelloWorld。

那么如果每次都這樣執(zhí)行,豈不是很麻煩?

4.CLASSPATH

? “The class path is the path that the Java Runtime Environment (JRE) searches for classes and other resource files.”----官方文檔, 即CLASSPATH就是JRE尋找class文件和其它資源文件的地方,因此,為了方便運(yùn)行,就有必要把我們生成的包想辦法放到CLASSPATH變量中,WIn7環(huán)境下的操作方法 是:

右擊“計(jì)算機(jī)”->屬性->高級(jí)系統(tǒng)設(shè)置->環(huán)境變量->系統(tǒng)變量, 雙擊“CLASSPATH”, 在“變量值”最后輸入";路徑",其中";"是多個(gè)CLASSPATH的分隔符號(hào),如圖所示:

img

目前已經(jīng)不需要設(shè)置CLASSPATH。

因?yàn)閖dk 在該目錄下有兩個(gè)子目錄,分別是.\bin和.\jre\bin, 前者含有用于Java程序編譯以及執(zhí)行的程序javac和java,后者有執(zhí)行程序java。對(duì)于用Eclipse,自帶編譯程序,因此只需要在Path中加入%JAVA_HOME%\jre\bin,Eclipse就能運(yùn)行起來(lái),因?yàn)閖dk既有編譯程序也能提供執(zhí)行環(huán)境。(在dos窗口下執(zhí)行命令時(shí)首先會(huì)在當(dāng)前目錄下尋找命令相應(yīng)程序,如果找不到就會(huì)去path包含目錄的路徑中去尋找)

5.常見(jiàn)錯(cuò)誤

案例二

D:\myeclipse\Workspaces\example>javac src/com/example/controller/*.java

報(bào)錯(cuò)
src\com\example\controller\controller.java:3:軟件包 com.example.model不存在

我們切換目錄,已上文絕對(duì)路徑、相對(duì)路徑的知識(shí),正確給出Java文件的路徑。這時(shí)會(huì)報(bào)出錯(cuò)誤,軟件包c(diǎn)om.xxx不存在。因?yàn)樵?code>controller.java文件中有一個(gè)import com.example.model.model,根據(jù)系統(tǒng)默認(rèn)的classpath會(huì)在當(dāng)前路徑下找,即D:\myeclipse\Workspaces\example,很明顯這個(gè)路徑下沒(méi)有com文件。

解決方法,我們告訴編譯器哪個(gè)目錄下會(huì)有就行了,所以需要加入選項(xiàng)-cp xxxx 或-classpath xxxx

D:\myeclipse\Workspaces\example>javac -cp src src/com/example/controller/*.java

加上參數(shù)-cp src,告訴編譯器可以去src中找,就不會(huì)有問(wèn)題了。

找不到主類(lèi)

在這里插入圖片描述

6.引入jar包

特別注意的是在Linux下用冒號(hào):進(jìn)行分隔,而在Windows用分號(hào)進(jìn)行分割。

// 正確
D:\myeclipse\Workspaces\example\src>javac -cp .;lib/gson-2.3.1.jar com/example/view/view.java

后面加上;

在這里插入圖片描述

或者前面加上.;

在這里插入圖片描述

 到此這篇關(guān)于cmd編譯運(yùn)行java程序的方法的文章就介紹到這了,更多相關(guān)cmd編譯運(yùn)行java程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java基礎(chǔ)之位運(yùn)算知識(shí)總結(jié)

    Java基礎(chǔ)之位運(yùn)算知識(shí)總結(jié)

    最近接觸到了java位運(yùn)算,之前對(duì)位運(yùn)算的了解僅僅停留在表現(xiàn)結(jié)果上,乘2除以2,對(duì)背后的原理并不了解,現(xiàn)在學(xué)習(xí)記錄一下,需要的朋友可以參考下
    2021-05-05
  • Java SpringMVC數(shù)據(jù)響應(yīng)超詳細(xì)講解

    Java SpringMVC數(shù)據(jù)響應(yīng)超詳細(xì)講解

    Spring?MVC?是?Spring?提供的一個(gè)基于?MVC?設(shè)計(jì)模式的輕量級(jí)?Web?開(kāi)發(fā)框架,本質(zhì)上相當(dāng)于?Servlet,Spring?MVC?角色劃分清晰,分工明細(xì),本章來(lái)講解SpringMVC數(shù)據(jù)響應(yīng)
    2022-04-04
  • mybatis-plus雪花算法自動(dòng)生成機(jī)器id原理及源碼

    mybatis-plus雪花算法自動(dòng)生成機(jī)器id原理及源碼

    Mybatis-Plus是一個(gè)Mybatis的增強(qiáng)工具,它在Mybatis的基礎(chǔ)上做了增強(qiáng),卻不做改變,Mybatis-Plus是為簡(jiǎn)化開(kāi)發(fā)、提高開(kāi)發(fā)效率而生,但它也提供了一些很有意思的插件,比如SQL性能監(jiān)控、樂(lè)觀鎖、執(zhí)行分析等,下面一起看看mybatis-plus雪花算法自動(dòng)生成機(jī)器id原理解析
    2021-06-06
  • Springboot項(xiàng)目中實(shí)現(xiàn)微信小程序登錄案例(最新推薦)

    Springboot項(xiàng)目中實(shí)現(xiàn)微信小程序登錄案例(最新推薦)

    文章介紹了如何通過(guò)微信開(kāi)放平臺(tái)的授權(quán)登錄功能實(shí)現(xiàn)Spring Boot項(xiàng)目與微信小程序的微信登錄,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2025-02-02
  • Java使用@Autowired注解獲取對(duì)象為null的幾種情況及解決方法

    Java使用@Autowired注解獲取對(duì)象為null的幾種情況及解決方法

    這篇文章主要給大家介紹了使用@Autowired注解獲取對(duì)象為null的幾種情況以及?解決方法,文中有詳細(xì)的代碼示例講解,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-09-09
  • 普通java項(xiàng)目集成kafka方式

    普通java項(xiàng)目集成kafka方式

    文章介紹了如何在非Spring Cloud或Spring Boot項(xiàng)目中配置和使用Kafka,提供了一個(gè)簡(jiǎn)單的Kafka配置讀取類(lèi),可以靈活地從不同配置中讀取屬性,并提供默認(rèn)值
    2024-11-11
  • IDEA之如何關(guān)閉/開(kāi)啟引用提示Usages

    IDEA之如何關(guān)閉/開(kāi)啟引用提示Usages

    這篇文章主要介紹了IDEA之如何關(guān)閉/開(kāi)啟引用提示Usages問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java中使用ZXing和QRCode生成二維碼的示例詳解

    Java中使用ZXing和QRCode生成二維碼的示例詳解

    生成二維碼在Java中有多種方法,常用的是通過(guò)第三方庫(kù)來(lái)實(shí)現(xiàn),比較流行的庫(kù)包括?ZXing?(Zebra?Crossing)?和?QRCode,本文小編就給大家介紹了Java中使用ZXing和QRCode生成二維碼的示例,需要的朋友可以參考下
    2024-09-09
  • spring boot使用@Async異步注解的實(shí)現(xiàn)原理+源碼

    spring boot使用@Async異步注解的實(shí)現(xiàn)原理+源碼

    通常我們都是采用多線程的方式來(lái)實(shí)現(xiàn)上述業(yè)務(wù)功能,但spring 提供更優(yōu)雅的方式來(lái)實(shí)現(xiàn)上述功能,就是@Async 異步注解,在方法上添加@Async,spring就會(huì)借助AOP,異步執(zhí)行方法,接下來(lái)通過(guò)本文給大家介紹spring boot異步注解的相關(guān)知識(shí),一起看看吧
    2021-06-06
  • 基于Java匯總Spock框架Mock靜態(tài)資源經(jīng)驗(yàn)

    基于Java匯總Spock框架Mock靜態(tài)資源經(jīng)驗(yàn)

    這篇文章主要介紹了基于Java匯總Spock框架Mock靜態(tài)資源經(jīng)驗(yàn),前面講了?Spock框架Mock對(duì)象、方法經(jīng)驗(yàn)總結(jié),今天分享一下Spock框架中Mock靜態(tài)資源的實(shí)踐經(jīng)驗(yàn)匯總。分成靜態(tài)資源和混合場(chǎng)景,需要的朋友可以參考一下
    2022-02-02

最新評(píng)論

漳平市| 固安县| 山西省| 襄樊市| 肥城市| 沈丘县| 金阳县| 五河县| 那坡县| 名山县| 和龙市| 宜昌市| 景谷| 楚雄市| 南丹县| 洛宁县| 高要市| 富裕县| 大英县| 蓬溪县| 黎平县| 阜城县| 河津市| 神农架林区| 海口市| 永吉县| 纳雍县| 常州市| 修文县| 临汾市| 富源县| 桦川县| 大连市| 光山县| 安图县| 墨脱县| 宁德市| 两当县| 乐安县| 平度市| 阆中市|