您好,我无法在 Wine Ubuntu 上安装 JDK 8,它给了我一条错误消息,没有任何解释。我尝试按照以下说明操作,但它也不起作用... https://appdb.winehq.org/objectManager.php?sClass=version&iId=31528&iTestingId=90897
有人可以帮忙吗?
谢谢
最佳答案
我认为我们使用相同的经纪商(Directa?),并且遇到了相同的问题。
这就是我如何让Oracle Java 8在Xubuntu 16.10上的Wine上工作,并且还能够运行JNLP> (Java Web Start) 应用程序来自 Firefox for Windows,我希望遵循这些段落也能解决您的问题。
我使用了 PlayOnLinux,Wine 图形前端,但这可能也可以直接在 Wine 路径上工作;如果在 Wine 上工作不成功,也许您可以尝试使用 PlayOnLinux。
- 如果您还没有安装 PlayOnLinux,请从 Ubuntu“软件”包管理器安装 PlayOnLinux;
- 在 PlayOnLinux 中,单击“安装程序”并搜索“Firefox”,然后按“安装”:向导将引导您正确安装 Firefox(它将提供您下载 Firefox Windows 安装程序,或者您也可以指向到以前下载的);
- 从 java.com 下载适用于 Windows 的最新版本 JDK (不是 JRE!),current link 。我选择了Windows x86版本(我在32位机器上),JDK版本8.121的文件名
jdk-8u121-windows-i586.exe
; 这部分程序摘自 WineHQ page您提到:将 JDK 安装包移动到 PlayOnLinux 为 Firefox 创建的 C: 模拟路径上:
/home/[linux username]/PlayOnLinux's virtual drives/MozillaFirefox/drive_c/
导航到该路径并从 shell 执行:
$ 7z x jdk-8u121-windows-i586.exe
(当然,如果JDK版本不同,请更改文件名):这将在同一路径中创建一个
tools.zip
文件;创建一个
jdk
子文件夹并导航到其中,然后解压缩tools.zip
文件:$ mkdir jdk $ cd jdk $ unzip ../tools.zip
对于下一步,您必须运行
unpack200
:您可以从另一个 Oracle JDK 或 JRE Linux 安装中获取此 JAR 解包程序(您可以在bin
中找到它) > 文件夹);如果您没有可用的,您可以在您的计算机上安装适用于 Linux 的 Oracle JDK,这样您就可以使用unpack200
可执行文件,为此您可以按照 this procedure 进行操作。 ;执行这些 shell 命令来解压 JDK JAR:
$ find -type f | grep '\.pack$' | while read __line; do \ __outjar="$(dirname "$__line")/$(basename "$__line" .pack).jar" echo "$__line" -- "$__outjar"; \ unpack200 "$__line" "$__outjar"; \ done
现在 Oracle JDK 已经可以使用了,使用以下 shell 命令测试它是否可以在 Wine 下工作:
wine bin/java -版本
它应该回答 Java 版本和运行时环境声明;然后可以使用/jdk/bin
路径下的可执行文件运行普通 Java 应用程序;为了能够执行 JNLP 文件,您所要做的就是在 Firefox for Windows 中下载所需的 JNLP 并选择“打开方式...”,然后指向 Java Web Start 可执行文件,它位于 jdk/bin/javaws.exe 下的 C: 模拟路径中。
它的完整路径将是:
/home/[linux username]/PlayOnLinux's virtual drives/MozillaFirefox/drive_c/jdk/bin/javaws.exe
这样,所有在浏览器中打开的 JNLP 文件都将在 JWS 机器上打开。
这足以在 Wine 下安装 Oracle Java 8 并运行 Java/JNLP 应用程序。
为了让价格流在经纪商应用程序上正常工作,我遇到了防火墙的第二个问题,但这不是本答案的主题。
我希望这有帮助。如果您在这些步骤中发现任何问题,请告诉我。
关于ubuntu - 无法在 wine Ubuntu 上安装 JDK 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37691070/