從 Linux 終端編譯執行 Eclipse Java 專案

ImportNew發表於2015-09-12

假如你在linux系統下使用Eclipse開發一個Java專案,你可能會有從其他地方遠端連線這個專案的需求。或許你可以使用teamviewer遠端連線linux桌面,但那經常會非常龜速。你也可以從常規的ssh終端修改、編譯並執行你的Java專案。使用終端修改、編譯並執行遠端eclipse專案則會快很多。本文就是告訴你如何在終端中編譯執行eclipse專案。

用到的命令列

基本上只需要下面兩個命令。-cp引數項用於配置類路徑,它指向用到的class檔案和jar檔案。如果使用多個庫,那麼每一個都應該被包含在其中,以“.”分隔。

javac -cp “all jar file’s path” package/target.java
java -cp “all jar file’s path” package.target

An Example Eclipse Project 一個Eclipse專案例子

下文中,我在eclipse中新建一個Java專案。該專案包含一個package1中的類Test。Test使用了/lib/下的第三方庫。

從Linux終端編譯執行Eclipse Java專案

首先,cd到/src/directory資料夾下,然後使用以下命令編譯專案。

javac -cp "/home/pc/workspace/TerminalEclipse/lib/commons-io-2.4.jar:
/home/pc/workspace/TerminalEclipse/lib/commons-lang-2.5.jar"
package1/Test.java

第二,使用以下命令執行專案。

java -cp ".:/home/xiaoran/workspace/TerminalEclipse/lib/commons-io-2.4.jar:
/home/xiaoran/workspace/TerminalEclipse/lib/commons-lang-2.5.jar"
package1.Test

注意:路徑的第一部分是 .,它指向當前路徑。

編譯過程會在/src/directory資料夾下產生.class檔案。當你再次使用eclipse的時候可能會想把它們刪除了。

潛在問題

如果你正在開發一個規模很大的專案,你就可能會使用很多的第三方庫。你可以使用下面的程式碼生成路徑字串。

publicstaticvoid printAllJars(){
    String str ="/home/pc/workspace/TerminalEclipse/lib";
    file =newFile(str);

    StringBuilder sb =new StringBuilder();

    File[] arr = file.listFiles();
    for(File f: arr){
        if(f.getName().endsWith(".jar")){
            sb.append(f.getAbsolutePath()+":");
        }
    }

    String s = sb.toString();
    s = s.substring(0, s.length()-1);

    System.out.println(s);
}

相關文章