從 Linux 終端編譯運行 Eclipse Java 項目
假如你在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
注意:路徑的***部分是 .
,它指向當前路徑。
編譯過程會在/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);
}