【Java】【轉】在命令列中編譯和執行java

Dsp Tian發表於2017-09-02

原文:http://blog.csdn.net/u010900574/article/details/50792353

同時載入編譯多個jar包和java檔案

在個人平常使用或者當我們把程式碼部署到Linux伺服器上的時候,我們經常需要通過命令列編譯和執行Java檔案,網上關於這個的方法大多是通過

javac -cp   filePath/jarName.jar  javaName.java

這種方法。但是加入在filepath資料夾下面有好幾個jar包,在src資料夾中有好幾個java檔案的時候,這個方法就很笨拙了,我在網上看的資料非常亂,其實下面一個非常簡單的指令就可以解決了:

javac -Djava.ext.dirs=filePath  *.java//注意這裡只需要指定到jar包所在的資料夾就可以了

其中*.java表示可以一次編譯所有的java檔案。

把編譯檔案放到指定目錄

如果想要把編譯後的檔案放到指定目錄,只需要在java檔案後加上 -d outputFilePath就可以了,例如下面:

javac -Djava.ext.dirs=filePath  *.java  -d outputFilePath

執行java檔案

執行java程式頁是同樣,只需要把javac換成java,後面寫上主函式所在的java檔案的名稱就可以了,不用加字尾。例如下面

javac -Djava.ext.dirs=filePath  MainJavaName

如果想要把編譯後的檔案放到指定目錄,只需要在java檔案後加上 -d outputFilePath就可以了

例項演示

我們以實際例子來演示 
在ServerProgram資料夾下面有個Labrary資料夾,裡面有多個jar檔案,Src是原始檔包,裡面有三個java檔案,Output資料夾是我想輸出編譯檔案的地方, 
這裡寫圖片描述
編譯過程

//首先進入Src資料夾

javac -Djava.ext.dirs=../Library  *.java -d ../Output

//指定輸出編譯檔案的位置為上級目錄的Output資料夾

執行過程

先進入Output資料夾

//主函式所在檔案是Server.java
java -Djava.ext.dirs=../Library  Server

相關文章