一文教會你cmd命令運行java程序
1.普通項目(不帶lib文件夾)
1.在桌面上建一個名為com的文件夾,在文件夾中用記事本寫兩個類文件,后綴改為.java。兩個類文件的內(nèi)容如下圖所示:

2.使用javac命令編譯主函數(shù),命令行為javac TestMain.java。結(jié)果可以看到自動生成了兩個.class文件。

3.使用java TestMain命令行運行程序得到運行結(jié)果如下:

2.帶lib文件夾的項目
實操代碼:
## 編譯文件 javac -d bin/ -Djava.ext.dirs=lib/ TestMain.java ## 進(jìn)入編譯文件的目錄 cd lib ## 運行代碼 java -Djava.ext.dirs=../lib/ TestMain
具體講解:
項目結(jié)構(gòu)如圖:

帶有一個簡單的jar包
首先 cd 到 java_test 工程目錄下
運行如下命令:
javac -d bin/ -cp lib/junit-platform-commons-1.9.1.jar; TestMain.java
-d bin/表示把編譯的文件放到 bin 目錄下面,其中 bin 需要自己建立,當(dāng)然,不要這個命令也可以,文件就會默認(rèn)生成在當(dāng)前目錄位置。TestMain.java為需要編譯的運行文件-cp lib/junit-platform-commons-1.9.1.jar;指定需要的依賴jar包的位置,多個jar使用;分割,最后一個 jar 包的;后需要一個空格,即和TestMain.java隔了一個空格- 提示:
-cp lib/junit-platform-commons-1.9.1.jar;命令可以換成-Djava.ext.dirs=lib/-Djava.ext.dirs是設(shè)置 lib 包所在的目錄
ok 看下編譯好的文件

ok 接下來 運行項目
- **先進(jìn)入 bin 目錄 **
**cd bin** - **運行項目 **
java -cp ../lib/gson-2.10.1.jar; TestMain
項目運行如下

ok 一個簡單的java 工程就運行完了
但是 貌似有些繁瑣, 需要手動鍵入 java文件 以及相應(yīng)的jar包 很是麻煩,
so 可以用 shell 來腳本來簡化相關(guān)操作
shell 文件整理如下:
#!/bin/bash
echo "build start"
JAR_PATH=libs
BIN_PATH=bin
SRC_PATH=src
# java文件列表目錄
SRC_FILE_LIST_PATH=src/sources.list
#生所有的java文件列表
rm -f $SRC_PATH/sources
find $SRC_PATH/ -name *.java > $SRC_FILE_LIST_PATH
#刪除舊的編譯文件 生成bin目錄
rm -rf $BIN_PATH/
mkdir $BIN_PATH/
#生成依賴jar包 列表
for file in ${JAR_PATH}/*.jar;
do
jarfile=${jarfile}:${file}
done
echo "jarfile = "$jarfile
#編譯
javac -d $BIN_PATH/ -cp $jarfile @$SRC_FILE_LIST_PATH
#運行
java -cp $BIN_PATH$jarfile com.zuiapps.danmaku.server.Main
有一點需要注意的是, javac -d $BIN_PATH/ -cp jarfile @jarfile @jarfile @SRC_FILE_LIST_PATH在要編譯的文件很多時候,一個個敲命令會顯得很長,也不方便修改,
可以把要編譯的源文件列在文件中,在文件名前加@,這樣就可以對多個文件進(jìn)行編譯,
以上就是吧java文件放到 $SRC_FILE_LIST_PATH 中去了
文件內(nèi)容如下:

總結(jié):編譯 :
- 需要編譯所有的java文件
- 依賴的java 包都需要加入到 classpath 中去
- 最后設(shè)置 編譯后的 class 文件存放目錄 即 -d bin/
- java文件過多是可以使用 @$SRC_FILE_LIST_PATH 把他們放到一個文件中去
運行:1.需要把 編譯時設(shè)置的bin目錄和 所有jar包加入到 classpath 中去
到此這篇關(guān)于如何使用cmd命令運行java程序的文章就介紹到這了,更多相關(guān)cmd命令運行java內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring MVC學(xué)習(xí)筆記之json格式的輸入和輸出
本篇文章主要介紹了Spring MVC學(xué)習(xí)筆記之json格式的輸入和輸出,這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。2017-03-03
Java實現(xiàn)讀取resources目錄下的文件路徑的九種方式
本文主要介紹了Java實現(xiàn)讀取resources目錄下的文件路徑的九種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
Springboot集成Sentinel?組件實現(xiàn)基本限流功能(快速入門)
Sentinel是阿里巴巴開發(fā)的面向云原生微服務(wù)的高可用流控防護(hù)組件,支持流量控制、熔斷降級、系統(tǒng)負(fù)載保護(hù)等多維度防護(hù),適用于秒殺、消息削峰填谷等場景,本文給大家介紹Springboot集成Sentinel組件實現(xiàn)基本限流功能,感興趣的朋友跟隨小編一起看看吧2025-12-12
Mybatis mapper接口動態(tài)代理開發(fā)步驟解析
這篇文章主要介紹了Mybatis mapper接口動態(tài)代理開發(fā)步驟解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07
Springboot修改post請求接口入?yún)⒒蛑匦沦x值方式
這篇文章主要介紹了Springboot修改post請求接口入?yún)⒒蛑匦沦x值方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-05-05
使用@RequiredArgsConstructor注解來取代繁瑣的@Autowrired
有了@RequiredArgsConstructor注解,我們就可以減少@Autowired的書寫,本文主要介紹了使用@RequiredArgsConstructor注解來取代繁瑣的@Autowrired,感興趣的可以了解一下2022-04-04

