如何在命令行中运行Java项目

14

我有一个Java项目,在Eclipse中可以正常运行。现在,我需要使用命令行来运行它,比如java classpath。我该如何基于Eclipse中已存储的classpaths来设置classpath?


2
你在运行Java应用程序的操作系统是哪个? - Buhake Sindi
我正在使用Linux,这个项目涉及到很多库。如何设置路径呢?谢谢。 - bit-question
6个回答

12

只需导航到包含类文件的目录并使用以下命令:

java -classpath . myClass

编辑:您可以将 . 替换为任何类路径。例如,要查找类路径,可以使用 echo%CLASSPATH%

编辑:看起来这里可能有很多信息here


在输入echo $CLASSPATH$后,系统只会输出$。 - bit-question
1
在Linux环境中,变量以$开头,但不以$结尾。因此,要查看变量$CLASSPATH的值,请尝试使用“echo $CLASSPATH”。除非您已经设置了以$开头的变量,否则您将看不到任何内容。请参阅我的答案以了解如何在bash中执行此操作。我不熟悉zsh。 - Ben
如果你的类路径很复杂,例如因为有许多库,请使用此答案获取类路径:https://dev59.com/YGMk5IYBdhLWcg3w3xhY#23622375 - MrSmith42

5

如何使用Runnable jar从命令行运行Java项目

使用Eclipse可以轻松地运行Java程序,但是使用Runnable jar则略有不同。

运行Java项目的步骤:

  1. 将Java项目导出为可执行jar文件 - 使用Eclipse IDE
  2. 选择主类或运行类文件 - 启动配置
  3. 在库处理中 - 选择选项[将所需库提取到jar文件中]
  4. 打开命令提示符,进入可运行jar文件所在目录
  5. 输入 > java -jar Runnable.jar

4

假设您已经切换到项目目录下,直接子目录包含一个bin目录和一个lib目录。其中bin目录包含编译后的类文件,lib目录包含jar包。同时假设您希望运行的入口程序是com.initech.example.EntryPoint。在Windows系统下,您可以执行以下命令:

java -cp bin;lib\*.jar com.initech.example.EntryPoint

对于Unix系统来说,反斜杠需要换向,cp开关中分隔符使用冒号而不是分号。
只有当你的类被打包在jar文件中,并且该jar文件具有指定入口的清单时,才能使用-jar运行项目。

嗨,系统返回“zsh:未找到匹配项:bin:lib / * .jar” - bit-question
你已经切换到你的项目目录了吗?有叫做bin和lib的子目录吗?当然,具体情况取决于你的设置。 - Ben
@bit-question:你的Eclipse项目中有任何JAR文件吗?如果没有,你可以缩短它为“-cp bin”。或者如果你有JAR文件,请尝试去掉通配符并单独列出这些JAR文件。 - Nathan Hughes
@bit-question:zsh 正在尝试解析通配符,请将 cp 开关参数用引号括起来。 - Nathan Hughes
我认为你只需要使用 *,而不是 *.jar。因此,在 Linux 下,你的示例应该是 java -cp bin:lib/* com.initech.example.Entrypoint - localhost

3

选择项目并点击文件->导出,这将打开一个新窗口。

从中选择可运行的JAR选项,然后点击下一步按钮。

在启动配置中选择您的主类,在导出目的地中提供存储JAR文件的路径。

现在进入命令行并输入以下命令:java -jar mainclass(类名)


比其他方式更简短和清晰的解释... :) - Mark-VII

1
jre\bin\java -jar JarFileName.jar

这将允许您从命令行在Windows上运行一个jar文件。


0

您可以使用java命令的-classpath-cp选项来设置类路径,或者在启动应用程序之前设置$CLASSPATH环境变量,例如:

export CLASSPATH=bin:lib/*
java -jar packagename.Application

无论如何,您都应该编写一个脚本,以便可以在不进行多个步骤或键入长命令的情况下启动应用程序。或者您可以使用ant,或从Eclipse导出可运行的Jar文件。这实际上取决于您为什么需要这样做。

要查找类路径中需要哪些条目,最简单的方法可能就是查看Eclipse在项目根目录中创建的.classpath文件。


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