15

可以在本地运行 JAR 文件。下一步是在另一台 PC 上运行它。

问题是运行 JAR 文件是否需要 JRE、JDK 或两者?

4

8 回答 8

39

JDK 包含 JRE。

大多数程序只需要 JRE(Java 运行时环境),但有些程序在运行时需要编译器,在这种情况下您需要 JDK。

如果您有 JDK,则也不需要 JRE。

于 2012-09-04T10:07:42.363 回答
4

要运行 jar 文件,您只需要 java.exe(windows)。JDK 是 Java 的开发工具包,而 JRE 是运行时。JDK 包含 JRE。

于 2012-09-04T10:07:41.147 回答
4

在对已接受答案的评论中,nobalG 问道:“如果 jre 已经存在,为什么还需要编译器?”

在撰写本文时,我没有足够的声誉来发表评论,所以我在这里回复。

我有一种情况,我想编写在运行时编译其他代码然后使用该编译代码的代码。在我的例子中,我正在创建一个工具,它可以基于特定框架获取测试类,编译它,加载类,并从中提取测试数据,以便数据可以用作端到端测试的一部分. 为了使该工具正常运行,它必须与 JDK 一起运行,以便它可以使用 Java 编译器。

于 2015-05-22T15:23:43.277 回答
3

你只需要JRE。

如果您尝试运行的 jar 文件<classname>在清单文件中包含 Main-Class: 标头,那么您可以通过以下命令简单地运行 jar 文件:

java -jar [your jar file name]

如果清单文件没有该条目(并且您知道包含 main 函数的类的完全限定类名),那么您可以通过以下命令运行 jar 文件:

java -cp [absolute path to jar file] [full qualified class name containing the main function]

于 2012-09-04T10:10:17.007 回答
3

要运行 jar 文件,您只需要 JRE。您可以使用以下命令运行 jar 文件:

java -jar [jar 文件名]

于 2012-09-04T10:16:55.250 回答
2

JRE足以运行

JDK用于开发

于 2012-09-04T10:10:45.997 回答
1

您需要 JRE,但不需要 JDK。JRE 是 java 运行时环境,没有它就无法执行 java 代码。.jar 是一个编译好的 java 文件可以,这需要运行 java 运行环境。

于 2012-09-04T10:16:16.153 回答
0

你想运行jar文件;所以你只需要Java Runtime 环境(即JRE)。

于 2012-10-18T09:31:37.383 回答