JRE和JDK都需要运行JAR文件吗?

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

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

JDK包含JRE。

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

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

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

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

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

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

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

java -jar [jar文件名]

JRE足以运行

JDK用于开发

你只需要JRE。

如果您尝试运行的jar文件在清单文件中存在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]

你需要一个JRE而不是JDK。 JRE是java运行时环境,没有它就无法执行java代码。 .jar是一个已编译的java文件,它需要运行java运行时环境。

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