亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

cmd編譯運行java程序的方法

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

0.寫入程序

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

1.編譯

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

在這里插入圖片描述

在這里插入圖片描述

2.運行

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

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

java HelloWorld

在這里插入圖片描述

3.將class輸出到指定package

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

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

img

運行

java運行程序的命令是:

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

錯誤:找不到或無法加載主類

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

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

程序成功輸出了,也就是java解釋器定位到了class文件。其實,java的解釋器只能找到當(dāng)前路徑下和CLASSPATH變量存儲路徑中的包,所以我必須先把CMD的路徑切換到hello的同級目錄下,然后再運行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文件和其它資源文件的地方,因此,為了方便運行,就有必要把我們生成的包想辦法放到CLASSPATH變量中,WIn7環(huán)境下的操作方法 是:

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

img

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

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

5.常見錯誤

案例二

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

報錯
src\com\example\controller\controller.java:3:軟件包 com.example.model不存在

我們切換目錄,已上文絕對路徑、相對路徑的知識,正確給出Java文件的路徑。這時會報出錯誤,軟件包com.xxx不存在。因為在controller.java文件中有一個import com.example.model.model,根據(jù)系統(tǒng)默認(rèn)的classpath會在當(dāng)前路徑下找,即D:\myeclipse\Workspaces\example,很明顯這個路徑下沒有com文件。

解決方法,我們告訴編譯器哪個目錄下會有就行了,所以需要加入選項-cp xxxx 或-classpath xxxx

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

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

找不到主類

在這里插入圖片描述

6.引入jar包

特別注意的是在Linux下用冒號:進行分隔,而在Windows用分號進行分割。

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

后面加上;

在這里插入圖片描述

或者前面加上.;

在這里插入圖片描述

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

相關(guān)文章

  • 淺談Spring中如何使用設(shè)計模式

    淺談Spring中如何使用設(shè)計模式

    這篇文章主要介紹了淺談Spring中如何使用設(shè)計模式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • SpringBoot 部署到服務(wù)器上的方法

    SpringBoot 部署到服務(wù)器上的方法

    下面小編就為大家分享一篇SpringBoot 部署到服務(wù)器上的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • 淺談SpringCloud之Ribbon詳解

    淺談SpringCloud之Ribbon詳解

    這篇文章主要介紹了淺談SpringCloud之Ribbon,文中有非常詳細的代碼示例,對正在學(xué)習(xí)SpringCloud的小伙伴們有很大的幫助,需要的朋友可以參考下
    2021-05-05
  • springboot使用線程池(ThreadPoolTaskExecutor)示例

    springboot使用線程池(ThreadPoolTaskExecutor)示例

    大家好,本篇文章主要講的是springboot使用線程池(ThreadPoolTaskExecutor)示例,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 基于Java 注解(Annotation)的基本概念詳解

    基于Java 注解(Annotation)的基本概念詳解

    基于Java 注解(Annotation)的基本概念詳解
    2013-04-04
  • Javadoc標(biāo)簽和Javadoc注釋規(guī)范說明

    Javadoc標(biāo)簽和Javadoc注釋規(guī)范說明

    這篇文章主要介紹了Javadoc標(biāo)簽和Javadoc注釋規(guī)范說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 2020版IDEA整合GitHub的方法詳解

    2020版IDEA整合GitHub的方法詳解

    這篇文章主要介紹了2020版IDEA整合GitHub的方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • spring boot ajax跨域的兩種方式

    spring boot ajax跨域的兩種方式

    java語言在多數(shù)時,會作為一個后端語言,為前端的php,node.js等提供API接口。這篇文章主要介紹了spring boot ajax跨域的兩種方式,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-05-05
  • java枚舉是如何保證線程安全的

    java枚舉是如何保證線程安全的

    這篇文章主要介紹了java枚舉是如何保證線程安全的。Java SE5提供了一種新的類型-Java的枚舉類型,關(guān)鍵字enum可以將一組具名的值的有限集合創(chuàng)建為一種新的類型,而這些具名的值可以作為常規(guī)的程序組件使用,這是一種非常有用的功能。,需要的朋友可以參考下
    2019-06-06
  • Java中EnumMap的使用解析

    Java中EnumMap的使用解析

    這篇文章主要介紹了Java中EnumMap的使用解析,EnumMap?是一種特殊的?Map,它要求自身所有的鍵來自某個枚舉類型,EnumMap?的內(nèi)部可以作為一個數(shù)組來實現(xiàn),因此它們的性能非常好,你可以放心地用?EnumMap?來實現(xiàn)基于枚舉的查詢,需要的朋友可以參考下
    2023-11-11

最新評論