从 Linux 终端编译和运行 Eclipse Java 项目

2021-09-04 16:26:34 浏览数 (5)

如果你是在 linux 系统下在 Eclipse 中开发 Java 项目,你可能希望从另一个位置远程访问该项目。你可以使用 teamviewer 远程桌面 linux box,但有时这可能非常慢。你还可以从常规 ssh 终端编辑、编译和执行 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下创建了一个Java项目。该项目包含一个类Test,该类位于package1. 本Test类使用/ lib下/某些第三方库。

编译并运行 eclipse-project-terminal

首先,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 时,你可能希望删除它。

潜在问题

如果你正在开发一个大型项目,你可能会使用很多第三方库。你可以使用以下代码生成路径字符串。

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);
}


1 人点赞