Java - 从命令行构建和运行Eclipse项目

50

我有一个使用Eclipse IDE编写的Java项目,想通过SSH在另一台机器上运行它,但我必须使用命令行来完成,而且我不确定具体该怎么做。

我对Shell命令和Java都是新手。

请给我提供一个有关此问题答案的有用链接,或者提供一组指令来告诉我如何做这件事?

4个回答

51

Maven或Ant是最好的选择,但对于仅限于Eclipse的解决方案, 您可以选择文件 - 导出并选择Java - 可运行JAR文件, 然后将JAR文件传输到另一台计算机,并从命令行运行此文件:

java -jar YOUR.JAR

1
你能不使用JAR文件吗? - FirstName LastName
2
你可以这样做,但你需要复制bin目录下的所有内容以及程序所使用的任何库文件到另一台机器上,并将它们全部包含在类路径中(参见xappymah的回答)。 - Russ Hayward
很好的答案,但我的问题是我想在一台安装了较旧JRE的机器上运行那个jar文件。为了解决这个问题,在Eclipse首选项中将编译器兼容性级别设置为“1.6”,然后创建jar文件。但这并没有解决问题。有什么线索吗? - Alphaaa
@Alphaaa:最好单独提出这个问题,并提供更多细节 - 我相信你会得到答案。 - Russ Hayward
1
这到底怎么可能从CLI构建一个Eclipse项目啊 -_- - nonchip
显示剩余2条评论

34

你可以从命令行运行Java应用程序。简化的语法如下:

java -cp <classpath> <main class> <args>

其中:

<classpath> - 存放需要类的目录和/或JAR文件列表,多个路径用 Windows 的 ";" 或 Linux 的 ":" 分隔(默认classpath为".",即当前目录);

<main class> - 包含 main() 方法的类的完整限定名(例如,org.myself.HelloWorld)

<args> - 应用程序的各种参数(如果有的话)。

因此,如果您找到 Eclipse 存储编译后类的目录(通常是 bin),则可以使用以下命令:

java -cp . my.package.MyClass

或者,如果你在其他目录中使用了一些库和类,它可能是这样的:

java -cp some-cool-lib.jar:another-lib.jar:/some/directory/with/classes my.package.MyClass

4
“very easy”看起来不同。 - Marek Lisý
使用其他库和类时,命令应该使用分号;而不是冒号:。因此,命令应该是java -cp some-cool-lib.jar;another-lib.jar;/some/directory/with/classes my.package.MyClass;否则,它会显示找不到主类。 - Northnroro
分号在Windows中使用,正如我的答案所提到的。在Linux和MacOS上,你必须使用冒号。 - xappymah

3

要构建和运行一个Java项目,最好使用Ant或Maven工具。你可以在谷歌上找到许多有关此类工具的教程。

这里有一个很好的Ant教程:http://www.intranetjournal.com/java-ant/


3
有没有不需要任何额外工具就能完成这个任务的方法?Eclipse提供了一些命令来完成这个任务吗? - Simon

3
这是我的做法,对我有用。希望可以帮到你。 在此输入图片描述

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接