用命令列編譯java檔案
用慣了IDE,突然發現對於java和javac命令只會基礎的單檔案編譯執行,因此特地研究了一下多檔案依賴編譯執行。(順便一提,stackoverflow真是個好地方)
環境:Java8 Windows10
單檔案編譯
帶包名的java類編譯
現在我們對 HelloWorld.java 做些小小的修改程式碼如下
package lib;
public class HelloWorld
{
public static void main (String []args) {
System.out.println ("Hello World!");
}
}
這種情況,有兩種方式:
第一種就是直接用 -d
編譯命令 javac -d . HelloWorld.java 切記 . 代表當前目錄左右空格不能丟。編譯後編譯器會幫我們在當前目錄下自動生成一個lib資料夾,這和我們的包名一致。如果包名很長如: com.shark.test 編譯器就會生成 ./com/shark/test 三級目錄,在最裡層即 test目錄下就是我們的class檔案。
執行命令 java lib.HelloWorld 執行時需帶上完整包名+類名
第二種方式是手動建立一個 lib 資料夾將 HelloWorld.java 放進去,(這裡的lib 取決於包名,若多層包名需建立多級目錄)
編譯命令:javac ./lib/HelloWorld.java
引用第三方jar包的編譯
在這裡我引用的是mysql的jar包。程式碼如下
import java.sql.ResultSet; import java.sql.SQLException; import com.mysql.jdbc.Driver; public class Test { private ResultSet rset; private static Driver driver; public static void main (String args [] ) throws SQLException { driver = new Driver(); System.out.println ("HelloWorld!!"); System.out.println (driver); } }
編譯命令 javac -cp mysql-connector-java-5.1.7-bin.jar Test.java
執行命令 java -Djava.ext.dirs=./ Test 或是 java -cp .;mysql-connector-java-5.1.7-bin.jar Test
有包名:
編譯命令 : javac -d . -cp mysql-connector-java-5.1.7-bin.jar Test.java
執行命令 java -Djava.ext.dirs=./ Test
-cp 指定第三方jar包的位置
多檔案編譯
同級目錄下
一下是準備工作,在當前目錄下建立 HelloWorld.java 和 Main.java檔案內容分別如下
public class HelloWorld
{
public String getMsg ()
{
return "HelloWorld!";
}
}
public class Main
{
public static void main (String []args)
{
HelloWorld hw = new HelloWorld ();
System.out.println (hw.getMsg ());
}
}
在cmd中檢視目錄如下:
同級目錄下java和javac都可以自動識別,這裡很簡單,編譯命令為 javac HelloWorld.java Main.java 執行命令為 java Main
非同級目錄
當前目錄下Main.javaimport lib.HelloWorld;
public class Main
{
public static void main (String []args)
{
HelloWorld hw = new HelloWorld ();
System.out.println (hw.getMsg ());
}
}
在當前目錄下建立一個目錄lib 並在lib下建立一個檔案 HelloWorld.java
package lib;
public class HelloWorld
{
public String getMsg ()
{
return "Hello World!";
}
}
編譯命令 javac Main.java ./lib/HelloWorld.java
執行命令為 java Main
多謝stackoverflow的大佬,下面附上相關連結 https://stackoverflow.com/questions/13738343/import-class-file-in-java?rq=1
https://stackoverflow.com/questions/44458126/use-javac-and-java-to-excute-class-file-with-extern-classes-under-other-director
相關推薦
用命令列編譯java檔案
用慣了IDE,突然發現對於java和javac命令只會基礎的單檔案編譯執行,因此特地研究了一下多檔案依賴編譯執行。(順便一提,stackoverflow真是個好地方) 環境:Java8 Windows10 單檔案編譯 帶包名的java類編譯 現在我們對 HelloWorld
怎麼用命令列執行.java檔案
第一步 假如在e盤裡有個資料夾名為Java,在Java資料夾裡有一個事先寫好的.java程式,如下: 第二步 開啟命令列視窗(Window+R),輸入cmd,點確定,如下: 第三步 轉到HelloWorld.java檔案所在的資料夾。 (1)檔案在E盤,首先輸入
用命令列編譯java並生成可執行的jar包
如果對於編譯有編碼要求的 應該使用-encoding引數指明編碼方式:javac -encoding UTF-8 XX.java 一個package中,兩個java檔案中,一個有main函式,一個沒有,兩者之間有呼叫關係 ThreadTest.java package
命令列編譯java檔案,執行class檔案
一、編譯java檔案的話,則需要先安裝jdk環境。 安裝JDK後配置環境變數 :計算機➡屬性➡高階系統設定➡高階➡環境變數,在系統變數裡: 1)新建JAVA_HOME,變數值為jdk路徑,我的是C:\Program Files\Java\jdk1.8.0_65 2)新
命令列編譯java檔案
原始檔: package com.test; public class HelloTest { /** * @param args */ public static void main(String[] args) {
在linux下用命令列編譯 java的eclipse專案
由於jdk的版本問題導致在windows上編譯打包好的jar包放在linux伺服器上執行的時候出現一點小異常,所以決定在linux上進行一次專案編譯,這有兩個選擇 1.在相同的linux環境下安裝linux版的eclipse 進行編譯 2.在linux用javac命令列進行編譯 3.用maven,ant等專案
java命令列編譯class檔案及打包jar
編譯: cmd = "javac -classpath /I:/apache-tomcat-7.0.34/webapps/project/WEB-INF/classes/../temp/com/hongshao/classpath.jar -d /I:/apache-tomc
用cmd命令列編譯JAVA程式時出現“找不到或無法載入主類”
檢查環境變數配置: JAVA_HOME:D:\Java\jdk1.8.0_91 CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(前面有英文點號) Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
【程式碼重構 & JDT】Windows命令列執行Java檔案陷入死迴圈解決辦法
通過修改某個Java檔案的AST節點生成n個新程式,然後用測試用例分別對這n個新程式進行執行。但是在執行過程中,發現有些新生成的新程式會陷入死迴圈的情況,後臺的java.exe一直在執行。解決方法是:設定每個程式最長執行時間為10秒,超時後,再使用命令列的形式殺掉後臺的java.exe程序。程式
命令列編譯Java程式
本文介紹如何在windows系統的命令列內編譯執行一個有輸入的簡單Java程式。 示例中,輸入“Alice”,輸出“hi, Alice. How are you?” 1 新建一個文字文件,寫入如下程式碼。在 E:\program\JavaTestCode 位置另存為Hi.java檔案。
用命令列去除音訊檔案的背景噪聲
錄音時麥克風難免會有噪聲,就是那種嘶嘶聲,用音訊編輯軟體(比如audacity)可以很方便的去除,但如果要處理大量這種檔案,用命令列工具是更有效率的辦法。 SoX號稱音訊處理的瑞士軍刀,光manpage就40多頁,功能不可謂不強大, 通用命令格式: sox
windows下用命令列執行class檔案提示“找不到或者無法載入主類”
我的jdk是jdk1.8.0_121這個版本的,配置好環境變數之後,使用javac進行沒問題,但是java 檔名的時候就提示找不到或者無法載入主類 百度搜了好久,很多人都是告訴說需要配置好classpath環境變數,但是之前看到的教程上說的是6.0以上的版本不需要配置cla
Windows用命令列執行java專案(程式)
由於需要,要在命令列裡執行java專案。首先電腦上得有jdk,這是必要的條件。其次,你就可以新建一個專案資料夾,比如叫做ShowTime,然後再新建一個src資料夾(只是方便管理,並不一定需要這樣),這時,就可以在裡面新建一個java檔案了。 import
用命令列編譯libjpeg.lib
2、解壓出來一堆檔案,開啟命令列視窗(CMD),進入程式碼所放的目錄下 3、執行命令:nmake /f makefile.vc nodebug=1 開始編譯,然後問題就來了 4、“nmake 不是內部或外部命令” 這個執行檔案在VC的安裝目錄中,解決方法:輸入命令 path C:/Program
用javac命令列編譯多個java檔案
export CLASSPATH=/usr/lib/jvm/java-6-sun/lib/commons-codec.jar:/usr/lib/jvm/java-6-sun/lib/commons-httpclient-3.1.jar:/usr/lib/jvm/java-6-sun/lib/commons-l
使用javac命令列編譯一個目錄下的所有.java檔案?
使用javac命令列如何編譯一個目錄下的所有.java檔案? 參考這裡 使用javac -sourcepath src *.java不行!使用javac -sourcepath src src*.java可以!!! 總結一下! 方法一、進入原始檔夾進行編
用命令列工具(CMD)執行java檔案
這篇文章將講解如何用命令列工具執行java檔案 一、命令列工具的使用 在開始選單中開啟執行工具,或使用快捷鍵win+R鍵開啟,輸入cmd即可。 輸入所要執行的java檔案的地址,即檔案所在資料夾的位置,如我的java測試檔案放在F:\Softw
命令列編譯執行java檔案
命令列執行java檔案時,如果有引用外部jar包,需要在編譯和執行的時候加上絕對路徑。1. ll HelloWorld.java => HelloWorld.java;2. javac -cp /opt/user/commons-codec-1.11.jar Hell
在cmd中java命令列編譯執行多個java檔案
一.環境:1. linux2. 有兩個java類,A.java和B.java,都在同一個目錄下二.原始碼:A.javapackage com.abc; public class A { public static void test() { Syste
命令列編譯執行scala檔案
使用scala命令執行scala檔案 第一步:配置環境變數,如果已經配置就忽略這個步驟啦 Windows環境下: 1.Java環境變數 JAVA_HOME = java在本機的安裝目錄 CLASSPATH = %JAVA_HOME%\lib\dt.jar;%JA