我正在尝试在我的 Mac 上运行 DISA 的 STIGViewer。它是一个 JAR 文件,我的系统上安装了 Java。双击该文件不起作用,从命令行启动它也不起作用。
% java -jar /Applications/STIGViewer-2.16.jar
Error: Could not find or load main class stigviewer.STIGViewer
Caused by: java.lang.NoClassDefFoundError: javafx/application/Application
%
社区中有人能够让它在他们的系统上运行吗?
我当前的 Java 版本是 16.0.2 (
java -version
)。我尝试安装Java 8,据说其中包含JavaFX。我尝试了简单的程序(仅限安装程序,没有环境变量),但无法让任何东西发挥作用。我尝试卸载每次安装尝试,以使我的系统尽可能接近其原始配置。
我找到了一些有关使用 Homebrew 安装 JavaFX 的信息(已安装在我的系统上)。我使用以下命令安装了与我的 Java 版本匹配的版本:
brew tap bell-sw/liberica
brew install --cask liberica-jdk16-full
我仍然不知道 JavaFX 在我的配置中的位置,但我现在可以启动 STIGViewer。我无法在“应用程序”文件夹中双击它,但我可以从命令行启动它:
java -jar /Applications/STIGViewer-2.16.jar
我没有安装 Java 或 JavaFX。按照OP的指示进行操作,结果成功了。这就是我所做的:
# checking Java is installed (it wasn't)
java -version
# installing Java (Java 21 was installed at this time)
brew install openjdk
# following instruction from homebrew docs
sudo ln -sfn $HOMEBREW_PREFIX/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
# confirmed Java is installed
java -version
# installing JavaFX per OP's instructions
brew tap bell-sw/liberica
brew install --cask liberica-jdk21-full
# running viewer
java -jar STIGViewer-2.17.jar
在索诺玛 14.4.1 上运行此程序。