使用JDK(64位)的SQL Developer找不到JVM

时间:2015-07-02 09:57:47

标签: java windows-8.1 oracle-sqldeveloper

我只是浪费了一天早上试图让SQL开发人员处理当前的设置:

  • 操作系统:通过Parallels在Mac上运行的Windows 8.1虚拟机。
  • 未安装oracle客户端或即时客户端
  • 没有安装Java

可重现的步骤

  • 我使用JDK(所有64位)下载了SQL Developer for Windows,并将其解压缩到C:/ Program Files /.
  • 我双击C:/ Program Files / sqldeveloper / sqldeveloper.exe

我收到以下消息:

无法启动Java虚拟机

位于路径:

C:/ Program Files / sqldeveloper / jdk / jre / bin / server / jvm.dll

有人可以帮帮我吗?我还尝试首先安装Java 1.8(64位),然后安装没有Java的SQL开发人员版本。这也不起作用。当我选择JDK home的位置时,它还发送了一条错误消息,说它找不到我说的任何JVM。为了增加伤害,每次我按照这个程序,熊猫防病毒软件告诉我sqldeveloper被感染,删除文件并鼓励我重新启动。

有人可以帮帮我吗?我非常感谢。

非常感谢您提前

18 个答案:

答案 0 :(得分:87)

我遇到了同样的问题,并通过将MSVCR100.dll文件从sqldeveloper\jdk\jre\bin复制到sqldeveloper\sqldeveloper\bin文件夹来解决了这个问题。

来自SQL Developer failed to start

的Erik Anderson

答案 1 :(得分:27)

中创建目录bin
D:\sqldeveloper\jdk\

复制

msvcr100.dll

D:\sqldeveloper\jdk\jre\bin

D:\sqldeveloper\jdk\bin

答案 2 :(得分:9)

如果文件夹sqldeveloper/jdk不包含文件夹bin, 您可以将文件夹bin中的文件夹sqldeveloper/jdk/jre复制到sqldeveloper/jdk

答案 3 :(得分:4)

请按照以下步骤操作:

  • 转到安装了 SQL Developer 的目录。
  • 打开//span[.='Wan test']/following::div[1]目录。
  • 在任何编辑器中打开//span[.='Wan test']/following::div[contains(@style,'images/smart_pattern')]进行编辑。
  • 删除以“/bin
  • 开头的整行
  • 保存并关闭文件
  • 再次启动 SQL Developer
  • 在提示符上提供sqldeveloper.conf的完整路径。

答案 4 :(得分:3)

尝试从" Windows 64位以及Windows 10企业版中包含JDK 8" zip文件安装SQL Developer时,我遇到了同样的错误消息。

在Windows 10中启动最新的SQL Developer版本4.1.3会显示错误:

Unable to launch the Java Virtual Machine Located at path:
C:\Users\<USER>\Downloads\sqldeveloper-4.1.3.20.78-x64\sqldeveloper\jdk\jre\bin\server\jvm.dll

路径存在且有效。

相同的zip文件适用于Windows 7 Professional。

问题是缺少msvcr100.dll

我只是将C:\Program Files\Oracle\VirtualBox\msvrc100.dll复制到C:\Users\<USER>\Downloads\sqldeveloper-4.1.3.20.78-x64\sqldeveloper\sqldeveloper\bin\,SQL Developer开始工作。

详细信息可以从Issue running SQL Developer x64 4.1.3 with JDK找到。

有趣的是,Oracle VirtualBox团队可以将dll包含在安装包中,但Oracle SQL Developer团队不能。

答案 5 :(得分:2)

对于Windows用户:如果有人下载了非jre版本并遇到了问题,然后在尝试JRE版本后仍然遇到问题,则需要删除“%AppData%\ sqldeveloper”中的SQLDeveloper文件夹。删除后,尝试再次打开sqldeveloper.exe。

答案 6 :(得分:2)

今天,我尝试使用oracle客户端64并失败了在tnsnames.ora file上定义的连接连接标识符。我假设尝试使用SQL Developer 64位连接Oracle 32位服务器。这就是为什么我安装新的jdk x86并尝试更改jdk路径但发生此错误的原因:

msvcr100.dll error

试图下载SQL Developer 32位,但是在site说,捆绑包同时支持32位和64位,具体取决于安装的Java。

  

Windows 32位/ 64位:此存档。将在32或64位上工作   Windows操作系统。您安装的JDK的位级别将确定是否   作为32或64位应用程序运行。此下载不包括   必需的Oracle Java JDK。如果不是,则需要安装它   已经在您的计算机上。

我的Java主目录是64位。在Java主目录中未设置新安装的32位jdk。

我需要打开$User_dir\AppData\Roaming\sqldeveloper\version\product.conf

删除行SetJavaHome C:\Program Files\Java\jdk1.8.0_201

开始sqldeveloper.exe而不是sqldeveloper64W.exe

将显示新的弹出窗口,并选择Java主目录以使用新的jdk版本(32位矿机):

C:\Program Files (x86)\Java\jdk1.8.0_201

我的错,我将sqldeveloper64W.exe固定在任务栏上,为什么会发生此错误,所以在移动光标后发现是sqldeveloper64W.exe,然后尝试单击sqldeveloper.exe,然后发现我的设置很顺利。

所以检查一下它是否也发生在您的系统上。如果sqldeveloper.exe不起作用,请尝试选择sqldeveloper64W.exe

现在,我可以使用新设置的SQL开发人员32位模式调用在tnsnames.ora上定义的连接标识符。

答案 7 :(得分:2)

这是因为sqldeveloper.conf有一个正在使用的java home的条目

look at this solution

答案 8 :(得分:1)

创建目录&#34; bin&#34;在

d:\的SQLDeveloper \ JDK \ 复制

msvcr100.dll 从

d:\的SQLDeveloper \ JDK \ JRE \仓 到

d:\的SQLDeveloper \ JDK \ BIN

答案 9 :(得分:1)

我已经按照步骤进行操作了。

1)打开位于以下位置的文件:\ sqldeveloper-3.2.20.09.87 \ sqldeveloper \ sqldeveloper \ bin \ sqldeveloper.conf并使用setJavaHome xxx删除该行。

2)立即单击Sqldeveloper.exe并浏览\ sqldeveloper-3.2.20.09.87 \ sqldeveloper \ jdk \ jre \ bin中存在的java.exe

3)这应该立即启动SqlDeveloper。

感谢。

答案 10 :(得分:1)

这看起来可能没有足够的内存分配给您的Windows VM。如果JVM配置为使用比可用内存更多(最大)的内存,那么您将收到此类错误消息。

您可以阅读有关SQL Developer的内存at (that) Jeff Smith's blog的更多信息。

默认设置似乎仍为-Xms128m -Xmx800m。通过将-Xmx设置为比我(物理)PC中的物理RAM大,我可以生成类似的错误。因此,使用默认设置,如果您没有为Windows分配800米内存,则会遇到问题。这看起来并不多,但它似乎在推荐的窗口based on this knowledgebase article中。

虽然您可以尝试降低product.conf文件中可能导致其他问题的JVM要求,但如果它可以正常工作的话。因此,增加Windows VM内存分配,重新启动,并尝试再次启动SQL Developer。

答案 11 :(得分:0)

我知道人们可能会对youtube示例不满,但这对我有用,我也遇到了同样的问题 https://www.youtube.com/watch?v=ex1dyu0Px8U

它将指导您为JDK添加正确的环境变量。

系统属性&gt;高级&gt;环境变量&gt;路径&gt; \的SQLDeveloper \ JDK \ BIN 和 \的SQLDeveloper \ JDK \ BIN \服务器

答案 12 :(得分:0)

我遇到了同样的问题: 此处的要点是指向Oracle客户端安装下的java.exe二进制文件,而不是指向程序文件下的JDK安装。

答案 13 :(得分:0)

安装jdk1.8.0_211并在 product.conf (位于C:\ Users \\ AppData \ Roaming \ sqldeveloper \ 19.1.0中)中将以下变量设置为JDK8 home对我来说很容易< / p>

  

SetJavaHome D:\ jdk1.8.0_211

答案 14 :(得分:0)

我试图在以下位置使用Oracle安装随附的sqldeveloper:

C:\oracle\product\11.2.0\dbhome_1\sqldeveloper

我尝试了这篇文章中的大部分建议,但均无济于事,因此我从oracle's download page(您必须注册)下载了其中的一个建议,要求提供 jdk文件夹的位置(而是比java.exe的位置)。这对我没有任何问题。

答案 15 :(得分:0)

我在C:\Program Files\Java\jdk1.8.0_261\jre\bin中找不到文件。我的sqldeveloper完全没有jre,因此对我有用的是将文件从较旧的Oracle jre版本复制到C:\Program Files\Java\jdk1.8.0_261\jre\bin

答案 16 :(得分:0)

Step 1, go to C:\Users\<you>\AppData\Roaming\, delete the whole folder [sqldeveloper]

Step 2, click on your shortcut sqldeveloper to start Sql developer

Step 3, the window will popup again to ask for a JRE location, choose a suitable one.

如果仍然不起作用,请从步骤1到3再次执行,记住每次更改JRE位置,直到它起作用为止。

答案 17 :(得分:0)

打开sql开发人员时,我遇到了类似的问题

由于缺少文件 MSVCR100.DLL

而无法启动Java虚拟机

我正在使用JDK 8和Windows 64位版本。我还下载了没有jdk / jre选项的oracle sql developer软件,因为我的系统中已经安装了jdk 8。双击sqldeveloper.exe文件时,它要求我输入JDK的路径。我给出了路径,然后给出了JVM MSVCR100.DLL错误。

我检查了C:\ Program Files \ Java \ jdk1.8.0_271 \ jre \ bin并在其中找不到MSVCR100.DLL文件。

然后在搜索microsoft forum之后,就知道该dll是64Bit: Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)的一部分。

安装上述microsoft软件包后,我可以在C:\ Windows \ System32下找到dll

然后执行以下操作

  • 复制了C:\ Windows \ System32 \ msvcr100.dll-> C:\ Program Files \ Java \ jdk1.8.0_271 \ jre \ bin

这解决了该错误,当它找到正确的dll时,我便可以打开Oracle SQL开发人员。