如果你是在 linux 系統(tǒng)下在 Eclipse 中開發(fā) Java 項目,你可能希望從另一個位置遠程訪問該項目。你可以使用 teamviewer 遠程桌面 linux box,但有時這可能非常慢。你還可以從常規(guī) ssh 終端編輯、編譯和執(zhí)行 Java 項目。使用終端編輯、編譯和運行遠程 eclipse 項目通常更快。這篇文章向你展示了如何在終端中編譯和運行 eclipse 項目。
使用的命令行
基本上,你需要以下兩個命令。-cp 選項配置類路徑,該路徑指向所使用的類文件和 jar 文件。如果使用多個庫,每個庫都應該包含在內并用“:”分隔。
javac -cp “all jar file’s path” package/target.java java -cp “all jar file’s path” package.targetjavac -cp "/home/pc/workspace/TerminalEclipse/lib/commons-io-2.4.jar:
/home/pc/workspace/TerminalEclipse/lib/commons-lang-2.5.jar" package1/Test.java
一個示例 Eclipse 項目
下面我在eclipse下創(chuàng)建了一個Java項目。該項目包含一個類Test,該類位于package1. 本Test類使用/ lib下/某些第三方庫。
首先,cd 到 /src/ 目錄,并使用以下命令編譯項目。
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/目錄下生成.class文件。當你再次使用 eclipse 時,你可能希望刪除它。
潛在問題
如果你正在開發(fā)一個大型項目,你可能會使用很多第三方庫。你可以使用以下代碼生成路徑字符串。
public static void printAllJars(){
String str = "/home/pc/workspace/TerminalEclipse/lib";
File file = new File(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);
}