首页 > 解决方案 > Java 11 SE 控制台输出

问题描述

在 Java SE 之前,一个 java 应用程序只需运行java -jar yourprogram.jar.

但是现在使用 Java SE,库和运行时环境都打包到一个 jar 文件中,因此您不必担心在计算机上安装最新版本的 java。

太好了,但是现在您无法使用上述命令启动 jar 文件,因为它将尝试使用最新的 JRE 1.8 运行。这将导致它失败并出现错误java.lang.UnsupportedClassVersionError。我目前正在为我的项目使用 SE 11(更新得多)。如果我在 CMD 中使用 just 运行 java 可执行文件yourprogram.jar,它会运行,但没有任何控制台输出。

我已经在谷歌上搜索了一个小时,但没有运气。我究竟如何创建一个将输出到 CMD(或任何控制台)的 Java SE jar?

编辑:修复了旧的命令语法

标签: javacmdconsoleoutputexecutable-jar

解决方案


您的全局 Java 命令很可能曾经安装过,以便为浏览器提供 Java(它还安装了全局可用的 Java 命令)。

Java 的最新版本(我主要看 OpenJDK)不这样做,所以 global Java 命令一直是旧的,给出你看到的错误。

最简单的解决方法是将bin安装的文件夹放在 PATH 变量的前面,这样新的 CMDjava就可以首先从那里看到和使用。


推荐阅读