假如你在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/下的第三方庫。
首先,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
注意:路徑的第一部分是 <code>.</code>,它指向目前路徑。
編譯過程會在/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);
}
來源:51cto