在 Linux 命令行上运行特定版本的 Java

问题描述

我有一段旧代码 (gwt 1.7),需要 32 位版本的 Java 1.7 才能运行。我在这里找到了我认为的解决方案:How to run an application on a specific Java version? 但是当我实际尝试使用完整路径时,我得到了错误

/usr/lib/jvm/java-7-oracle/jre/bin/java: 没有那个文件或目录

我对路径进行了两次和三次检查,结果是正确的。 “java”文件具有执行权限。我不确定还有什么问题。将它与我安装的一些较新的 Java 版本进行比较,我能看到的唯一区别是较新版本的 Java 将该文件编码为“共享库”,而在 1.7 中它是“可执行文件”。我错过了什么?

仅供参考:如果我运行一个命令来显示 JRE/bin 目录的内容输出

this.modalDirect = new Modal(this.demoModal.nativeElement,{});

解决方法

尝试以 sudo 身份运行您的 java 命令。您可能试图在未经许可的情况下从用户帐户执行。

,

鉴于这不是由权限问题引起的,这可能是缺少 32 位运行时的结果,详细说明 here