一文教會你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 ## 進入編譯文件的目錄 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 需要自己建立,當然,不要這個命令也可以,文件就會默認生成在當前目錄位置。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 接下來 運行項目
- **先進入 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
在要編譯的文件很多時候,一個個敲命令會顯得很長,也不方便修改,
可以把要編譯的源文件列在文件中,在文件名前加@,這樣就可以對多個文件進行編譯,
以上就是吧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)文章
如何利用SpringBoot搭建WebService服務(wù)接口
之前項目經(jīng)理想要開發(fā)一個webservice的協(xié)議,給我一個星期的時間,后面用springboot開發(fā)了webservice,這篇文章主要給大家介紹了關(guān)于如何利用SpringBoot搭建WebService服務(wù)接口的相關(guān)資料,需要的朋友可以參考下2023-11-11Dubbo+zookeeper搭配分布式服務(wù)的過程詳解
Dubbo作為分布式架構(gòu)比較后的框架,同時也是比較容易入手的框架,適合作為分布式的入手框架,下面是簡單的搭建過程,對Dubbo+zookeeper分布式服務(wù)搭建過程感興趣的朋友一起看看吧2022-04-04mybatis?resultMap之collection聚集兩種實現(xiàn)方式
本文主要介紹了mybatis?resultMap之collection聚集兩種實現(xiàn)方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-09-09jmeter接口測試教程及接口測試流程詳解(全網(wǎng)僅有)
Jmeter是由Apache公司開發(fā)的一個純Java的開源項目,即可以用于做接口測試也可以用于做性能測試。本文給大家分享jmeter接口測試教程及接口測試流程,感興趣的朋友跟隨小編一起看看吧2021-12-12HashMap原理及put方法與get方法的調(diào)用過程
這篇文章主要介紹了HashMap原理及put方法與get方法的調(diào)用過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09java HttpURLConnection 發(fā)送文件和字符串信息
這篇文章主要介紹了java HttpURLConnection 發(fā)送文件和字符串信息的相關(guān)資料,需要的朋友可以參考下2017-06-06java前后端傳值,參數(shù)有集合類型的數(shù)據(jù)時的兩種操作方式
這篇文章主要介紹了java前后端傳值,參數(shù)有集合類型的數(shù)據(jù)時的兩種操作方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11五種SpringBoot實現(xiàn)數(shù)據(jù)加密存儲的方式總結(jié)
這篇文章主要為大家詳細介紹了五種常見數(shù)據(jù)加密存儲的方法(結(jié)合SpringBoot和MyBatisPlus框架進行實現(xiàn)),文中的示例代碼講解詳細,需要的可以參考下2023-11-11