对于旧的 KVM 切换器,我需要运行 Java 1.6 的浏览器。但对于所有其他情况,我想使用最新的 Java 浏览器插件 1.7。
在 Linux 上,我可以创建两个配置文件,并在每个配置文件中放置一个指向 Java 插件的符号链接。通过这种方式,我可以轻松创建两个配置文件:一个用于 Java 1.6,另一个用于 Java 1.7。
如何在 Windows 上实现同样的效果?
在我看来,应该在浏览器中运行的 Java 版本是从注册表项中获取的。这使得同一台机器上不可能有两个带有两个不同 Java 插件的浏览器。如何解决这个限制/设计错误?
已经有一个关于 IE 和 Java 1.5/1.6 的类似问题,但也没有答案。
我需要帮助找到我的 java_home/bin 的位置,或者它是否存在。如果没有,我还需要安装什么?
我正在遵循一些安装说明,其中一个步骤说:
确保计算机上安装了 Java Runtime Environment (JRE) 并且在系统路径中定义了 java_home/bin 目录。
我什至找不到java_home的路径。不考虑其他操作系统的说明,这是我最接近找到有用的东西。
但是,当我输入规定的命令时,echo %java_home%它只%java_home%是以字符串、百分号等形式返回。当我% java -version在页面中进一步尝试时,它告诉我 %java 不是可识别的命令、程序或批处理文件。
我安装了 Java 8 Update 60,可以在我可以卸载的程序列表中看到它。不过,从引用中可以看出,如果我安装了 JRE,则 java_home\bin 存在。但是,我让文件资源管理器几乎搜索了整个计算机,但一无所获。
在命令行中运行 .jar 文件工作正常,但我无法通过双击它们在我的 PC 上执行 .jar 文件。有趣的是,双击即可在我的笔记本电脑上成功执行相同的 .jar 文件。
我包括%JAVA_HOME\bin和JDK_HOME\bin在PATH变量中。
我已经JAVA_HOME设置为C:\Program Files\Java\jre1.8.0_121.
我已经JDK_HOME 设置为C:\Program Files\Java\jdk1.8.0_121.
有一段时间,Java(TM) Platform SE 二进制文件从Open with列表中消失了,我无法添加它,直到我将HKEY_CLASSES_ROOT\jar_auto_file\shell\open\command密钥更改regedit.exe为适当的版本:
C:\ Program Files文件\的Java \ jre1.8.0_ 121 \ BIN \ javaw.exe的” “%1”。
这是java -version在我的 PC上输入的 Windows CMD 的快照:

我尝试了以下方法,但没有成功:
C:\Program Files\Java\jre1.8.0_121\bin\javaw.exe,assoc .jar=jarfile和ftype jarfile="C:\Program Files\Java\jre1.8.0_121\bin\javaw.exe" …我有一个从 *.bat 文件开始的应用程序(准确地说是 DavMail)。命令行是
java -Xmx1024m -cp davmail.jar davmail.DavGateway options
Run Code Online (Sandbox Code Playgroud)
这运行良好,但只要 DavMail 运行,控制台窗口就会保持打开状态。有没有可能摆脱它?
我试图创建一个快捷方式而不是 bat 文件。控制台仍然出现(尽管现在它完全是空的),所以这没有帮助。
当我尝试将 JDK 从 8u162 升级到 8u172 时,发生了这种情况。我发现所有 8u162、8u171 和 8u172 安装程序都以 code 退出0xC0000005,但只有 JDK 8 才会出现这种情况。JDK 10.0.1 可以成功安装。
以下是 Visual Studio 的转储文件分析:
Dump Summary
------------
Dump File: jdk-8u172-windows-x64.exe.10568.dmp : C:\Users\CNife\AppData\Local\CrashDumps\jdk-8u172-windows-x64.exe.10568.dmp
Last Write Time: 2018/4/21 21:54:54
Process Name: jdk-8u172-windows-x64.exe : C:\Users\CNife\AppData\Local\Temp\jds301015.tmp\jdk-8u172-windows-x64.exe
Process Architecture: x64
Exception Code: 0xC0000005
Exception Information: The thread tried to read from or write to a virtual address for which it does not have the appropriate access.
Heap Information: Not Present
System Information
------------------
OS Version: …Run Code Online (Sandbox Code Playgroud) 在我的 Mac 终端中:
$ javac -version
javac 10.0.1
Run Code Online (Sandbox Code Playgroud)
我打开 SQL Developer 并得到这个对话框:
SQL Developer 至少需要 Java 8。Java 8 可以从以下位置下载:http : //www.oracle.com/technetwork/java/javase/downloads/
如何让 SQL 开发人员工作?
我知道有 JRE 和 JVM。我也用 Java 编程过,所以不是一个完全的初学者。然而最近我变得非常困惑,希望您能立即回答我的问题。
我拥有哪个版本的 JRE 和 JVM?哪个是最新的?
现在,在想要告诉我“谷歌它”之前,我已经用谷歌搜索了它。因此我的困惑。
在java主页上写着:
在 Java 控制面板的“常规”选项卡下,可通过“关于”部分获得该版本。出现一个对话框(单击“关于”后),显示 Java 版本。
好吧,我这样做了,我有版本 8 Update71。
在该主页上还说:
JRE 和 JDK 是独立的,可以在您的系统上共存。Mac 上只能安装一个 JRE。一个系统上可以安装多个 JDK,您想安装多少就安装多少。
好吧,我已经知道了。所以我按照他们所说的从终端获取版本,然后我得到了
java -version
java version "1.8.0_71"
Java(TM) SE Runtime Environment (build 1.8.0_71-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.71-b15, mixed mode)
Run Code Online (Sandbox Code Playgroud)
好吧,看来是一样的。那么现在问题来了:
我有哪个版本?我的意思是版本8是JRE版本?或者是JVM版本?在主页上虽然他们区分了它们(如引用),但获取版本的说明是相同的!
更复杂的是,我访问了维基百科,那里说当前支持的版本是 Java 8 和 Java 11。为什么是两个?9 和 10 发生了什么?再说一遍,这些是 JRE 还是 JVM?
谁可以给我解释一下这个?
我在安装最新版本的 R 时遇到问题,出现了我不明白的错误“致命错误:jni.h:没有这样的文件或目录”。这是我在安装 R 时出现错误之前所做的操作:
#download tar.gz file
https://cran.r-project.org/
#install because we need it for execution of "make"
sudo apt-get install libx11-dev
sudo apt-get install xorg-dev
sudo apt-get install libcurl4-openssl-dev
# decompile
# on terminal
./configure
make
Run Code Online (Sandbox Code Playgroud)
安装库后,在安装结束时我看到的是这样的(无法粘贴所有内容,因为它太长了):
installing to /home/fafnyr/R/R-3.5.2/library/mgcv/libs
** R
** data
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (mgcv)
make[2]: Leaving directory '/home/fafnyr/R/R-3.5.2/src/library/Recommended' …Run Code Online (Sandbox Code Playgroud) 在 Debian 10 VM 中,我首先安装了 OpenJDK 11,一切正常。然后我根据极客计算中发布的说明安装了 Oracle JDK 13 ,这意味着wget-ting .deb 文件并使用dpkg -i.
我没有任何错误,但运行时update-alternatives --config java我得到这个答案:
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-11-openjdk-amd64/bin/java
Run Code Online (Sandbox Code Playgroud)
为什么?如何从一种 JDK 切换到另一种?
据我所知,“JDK”代表 Java 开发工具包,在基于 Debian 的系统上,您安装它default-jdk以获得正在运行的javac. 然而,在 Fedora 上(至少是最近的),安装java-openjdk不会安装javac,但你必须安装java-openjdk-devel。
我是否误解了 JDK 的概念javac?javac或者为什么Fedora 上不提供名称包含“jdk”的软件包?如果只有 a我会java-openjdk-devel理解,因为 JDK 意味着“devel”,但我不明白java-openjdk(没有 devel)代表什么。