從 Linux 終端編譯運(yùn)行 Eclipse Java 項(xiàng)目
假如你在linux系統(tǒng)下使用Eclipse開(kāi)發(fā)一個(gè)Java項(xiàng)目,你可能會(huì)有從其他地方遠(yuǎn)程連接這個(gè)項(xiàng)目的需求?;蛟S 你可以使用teamviewer遠(yuǎn)程連接linux桌面,但那經(jīng)常會(huì)非常龜速。你也可以從常規(guī)的ssh終端修改、編譯并運(yùn)行你的Java項(xiàng)目。使用終端修 改、編譯并運(yùn)行遠(yuǎn)程eclipse項(xiàng)目則會(huì)快很多。本文就是告訴你如何在終端中編譯運(yùn)行eclipse項(xiàng)目。
用到的命令行
基本上只需要下面兩個(gè)命令。-cp參數(shù)項(xiàng)用于配置類(lèi)路徑,它指向用到的class文件和jar文件。如果使用多個(gè)庫(kù),那么每一個(gè)都應(yīng)該被包含在其中,以“.”分隔。
javac -cp “all jar file’s path” package/target.java
java -cp “all jar file’s path” package.target
An Example Eclipse Project 一個(gè)Eclipse項(xiàng)目例子
下文中,我在eclipse中新建一個(gè)Java項(xiàng)目。該項(xiàng)目包含一個(gè)package1中的類(lèi)Test。Test使用了/lib/下的第三方庫(kù)。
首先,cd到/src/directory文件夾下,然后使用以下命令編譯項(xiàng)目。
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
第二,使用以下命令運(yùn)行項(xiàng)目。
java -cp ".:/home/xiaoran/workspace/TerminalEclipse/lib/commons-io-2.4.jar:
/home/xiaoran/workspace/TerminalEclipse/lib/commons-lang-2.5.jar"
package1.Test
注意:路徑的***部分是 .
,它指向當(dāng)前路徑。
編譯過(guò)程會(huì)在/src/directory文件夾下產(chǎn)生.class文件。當(dāng)你再次使用eclipse的時(shí)候可能會(huì)想把它們刪除了。
潛在問(wèn)題
如果你正在開(kāi)發(fā)一個(gè)規(guī)模很大的項(xiàng)目,你就可能會(huì)使用很多的第三方庫(kù)。你可以使用下面的代碼生成路徑字符串。
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);
}