javac、java打jar包命令實(shí)例
Java開(kāi)發(fā)中使用IDE工具肯定會(huì)很大程度的提高開(kāi)發(fā)效率,但是有時(shí)候需要用java命令在服務(wù)器上啟動(dòng)Java工程代碼來(lái)完成一系列的功能 ,當(dāng)然用ANT也非常方便。下面以簡(jiǎn)單HelloWorld代碼為例子來(lái)記錄,如何使用最基本的Java命令。
一、編寫(xiě)HelloWorld,代碼如下:
public static void main(String[] args) {
System.out.println("Hello world");
}
}
二、使用javac命令進(jìn)行編譯。
打開(kāi)CMD窗口
進(jìn)入文件所在目錄,上述Hello.java所在目錄為F:\JavaProject\ahellodemo\src\。
使用javac Hello.java進(jìn)行編譯。完成后可以看到F:\JavaProject\ahellodemo\src\下多了個(gè)Hello.class文件
三、使用java命令運(yùn)行編譯后代碼。
在CMD窗口中使用java Hello 命令運(yùn)行編譯后代碼,輸出 Hello world 。
上述過(guò)程是Java的實(shí)踐入門(mén)。那么如果這個(gè)類(lèi)是在某個(gè)包下呢?假設(shè)該類(lèi)所在的工程目錄結(jié)構(gòu)如下
--ahellodemo
--src
--com
--whty
--hello
--Hello.java
--classes
1).HelloWorld.java代碼如下:
public class Hello{
public static void main(String[] args) {
System.out.println("Hello world");
}
}
2).這時(shí),我們希望代碼能夠像使用IDE一樣被編譯到classes目錄(該目錄需要自己建立)下。下面依然使用javac命令進(jìn)行編譯。
打開(kāi)CMD窗口
進(jìn)入工程所在目錄,上述工程目錄為F:\JavaProject\ahellodemo\。
使用javac -d ./classes ./src/com/whty/hello/Hello.java進(jìn)行編譯。完成后可以看到F:\JavaProject\ahellodemo\classes\下多了個(gè)com目錄,Hello.class文件也被編譯到了F:\JavaProject\ahellodemo\classes\com\whty\hello目錄下。
3).使用java命令運(yùn)行編譯后代碼。
在CMD窗口中進(jìn)入工程目錄下的classes目錄下,然后使用java com.whty.hello.Hello 命令運(yùn)行編譯后代碼,輸出 Hello world 。
4).打成可運(yùn)行的jar包
經(jīng)過(guò)上述三個(gè)步驟以后,我們可以先在classes目錄下編寫(xiě)一個(gè)MANIFEST.mf文件內(nèi)容如下,這里要注意每個(gè)冒號(hào)后面的英文空格:
Main-Class: com.whty.hello.Hello
Class-Path:
然后再CMD中進(jìn)入工程classes目錄,使用 jar -cvfm hello.jar MANIFEST.mf com 命令,這時(shí)該目錄下回出現(xiàn)hello.jar文件。在CMD窗口中輸入 java -jar hello.jar 會(huì)輸出 Hello world 。
查看更多Java的語(yǔ)法,大家可以關(guān)注:《Thinking in Java 中文手冊(cè)》、《JDK 1.7 參考手冊(cè)官方英文版》、《JDK 1.6 API java 中文參考手冊(cè)》、《JDK 1.5 API java 中文參考手冊(cè)》,也希望大家多多支持腳本之家。
相關(guān)文章
探究Android系統(tǒng)中解析JSON數(shù)據(jù)的方式
這篇文章主要介紹了探究Android系統(tǒng)中解析JSON數(shù)據(jù)的方式,文中講到了使用Java代碼實(shí)現(xiàn)的處理JSON的一些主要方法,需要的朋友可以參考下2015-07-07新手小白學(xué)JAVA 日期類(lèi)Date SimpleDateFormat Calendar(入門(mén))
本文主要介紹了JAVA 日期類(lèi)Date SimpleDateFormat Calendar,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10基于線(xiàn)程的wait和notify使用,生產(chǎn)消費(fèi)案例
這篇文章主要介紹了基于線(xiàn)程的wait和notify使用,生產(chǎn)消費(fèi)案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08一篇文章帶你認(rèn)識(shí)Java8接口的默認(rèn)方法
這篇文章主要給大家介紹了如何通過(guò)一篇文章帶你認(rèn)識(shí)Java8接口的默認(rèn)方法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java8具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05SpringBoot實(shí)現(xiàn)服務(wù)接入nacos注冊(cè)中心流程詳解
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)服務(wù)接入nacos注冊(cè)中心流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-01-01徹底搞懂java并發(fā)ThreadPoolExecutor使用
這篇文章主要為大家介紹了徹底搞懂java并發(fā)ThreadPoolExecutor使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02關(guān)于SpringCloud中Ribbon的7種負(fù)載均衡策略解析
這篇文章主要介紹了關(guān)于SpringCloud中Ribbon的7種負(fù)載均衡策略解析,服務(wù)端負(fù)載均衡器的問(wèn)題是,它提供了更強(qiáng)的流量控制權(quán),但無(wú)法滿(mǎn)足不同的消費(fèi)者希望使用不同負(fù)載均衡策略的需求,而使用不同負(fù)載均衡策略的場(chǎng)景確實(shí)是存在的,需要的朋友可以參考下2023-07-07Java基于堆結(jié)構(gòu)實(shí)現(xiàn)優(yōu)先隊(duì)列功能示例
這篇文章主要介紹了Java基于堆結(jié)構(gòu)實(shí)現(xiàn)優(yōu)先隊(duì)列功能,結(jié)合實(shí)例形式分析了java優(yōu)先隊(duì)列的簡(jiǎn)單定義與使用方法,需要的朋友可以參考下2017-11-11