假如你在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