84

我正在研究 java wicket 框架和 Apache tomcat。在这里,当我尝试
启动 tomcat 时出现问题,它显示 Java 虚拟机启动器弹出窗口“无法创建
Java 虚拟机”。
单击弹出窗口上的“确定”按钮后,它会在控制台上显示错误。

VM 初始化期间发生错误。
无法为对象堆保留足够的空间。

请给我任何参考或建议。
提前致谢。

4

15 回答 15

222

错误:

sony@sony-VPCEH25EN:~$ java --version
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar 
Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

解决方案: 删除多余的连字符“-”

sony@sony-VPCEH25EN:~$ java -version
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar 
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
于 2016-09-18T19:17:45.457 回答
11

当我们从 java 8 升级到 java 10 时,我也遇到了这个问题。我通过 -Djava.endorsed.dirs="C:\Program Files\Apache Software Foundation\Tomcat 8.5\endorsed"从参数中删除来解决。

于 2019-02-13T15:41:18.577 回答
7
  • 同时按 Windows+Pause 键打开“系统”窗口。如果您愿意,也可以打开控制面板手册前往那里。单击左侧的“高级系统设置”,然后单击“高级”选项卡。
  • 在此处选择环境变量。
  • 单击系统变量下的新建。
  • 输入“_JAVA_OPTIONS”作为变量名。
  • 输入“-Xmx1024M”作为变量值。
  • 单击确定两次。
于 2016-11-23T10:11:59.957 回答
6

编辑您的 Catlina.bat,使您的 -Xmx 设置小于您的物理内存

请参阅Tomcat 7:如何正确设置初始堆大小?

于 2013-08-27T07:56:59.053 回答
2

我在 Windows 64 位操作系统上使用“jdk-10.0.1_windows-x64_bin”和 eclipse-jee-oxygen-3a-win32-x86_64 时遇到了同样的问题。

但最后我通过将我的 jdk 更改为“jdk-8u172-windows-x64”解决了这个问题,现在它工作正常。@谢谢

于 2018-05-23T18:42:41.640 回答
2

可能这可以帮助你 - 添加系统变量 _JAVA_OPTIONS 并在“新变量值”中添加“-Xmx1024M” Xmx 设置最大堆内存大小

于 2015-10-01T23:11:03.143 回答
1

对我来说,它选择了在 env vars 中设置的默认 JVM v6。

需要在 eclipse.ini 中明确添加以下内容才能使用光子要求的 v8。

-vm
C:\Program Files\Java\jdk1.8.0_75\bin\javaw.exe
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8

注意:在 vm 参数上方添加 vm 条目,否则它将不起作用!

于 2018-07-20T08:38:02.387 回答
1

我在Windows 64位操作系统上使用JDK 1.8.0_05 64 位和eclipse-jee-oxygen-3a-win32-x86_64时遇到了同样的问题。

在此处输入图像描述

最后我通过将JDK版本jdk1.8.0_05更改为jdk1.8.0_172解决了这个问题

于 2018-05-05T13:22:26.520 回答
1

错误并没有说太多,很多事情都可能是错误的。在我的情况下,一件事是错误的

-x.DargName=108352123

这显然是错误的,应该是

-Dx.argName=108352123
于 2016-03-24T17:31:17.317 回答
1

您只需将 JAVA_HOME 添加到您的环境变量中。只需将此变量指向 jdk 位置(而不是 jdk bin 位置),如下图所示。在此处输入图像描述

在此处输入图像描述

于 2021-09-04T12:37:52.770 回答
0

On ubuntu (version 18), some application support java 8 and do not support java 11. If this is the case , you can switch to java 8 by following instruction on below topic : https://askubuntu.com/questions/1133216/downgrading-java-11-to-java-8

于 2019-07-19T06:13:05.937 回答
0

我不得不在我的项目中添加一个较旧的 jdk。

项目文件夹上的右键 > 属性 > Java 构建路径 > 库 > 添加库 > JRE 系统库

在此处输入图像描述

在此处输入图像描述

如果您没有 jdk8 的软件包,请下载上面某些用户提到的 jdk ( http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/jdk-8u172-windows -x64.exe ) 并单击“Installed JREs”并搜索您下载 jdk8 的目录。

在此处输入图像描述

然后点击完成。

删除 apache 服务器并重新添加。

魔术完成了;)

于 2021-02-04T17:57:41.183 回答
0

我遇到了同样的问题,我使用的是带有 Java 10的 tomcat 8.5。最后我安装了 Java 8(1.8.0_171),它运行良好,没有任何问题

于 2018-06-07T19:10:27.633 回答
0

我今天在 Windows 10 上运行古老的软件Dundjinni时遇到了同样的问题,这是一种映射工具。(Dundjinni 需要安装相当旧的 Java;我没有尝试更新 Java,因为担心程序会失败。)我的方法是只需在管理员模式下运行 Dundjinni。方法如下:

单击开始或按开始键,向下导航到软件,右键单击程序,选择更多,然后选择以管理员身份运行。请注意,如果您只是键入软件的名称,则此选项不可用。

在此处输入图像描述

于 2021-02-15T09:53:44.963 回答
0

如果其他选项都不起作用,那么这可能是 JDK 本身的版本问题,只需卸载当前的 jdk 并安装最新版本即可。

我也遇到过这个问题,在尝试了所有升级到最新的 JDK 之后,这个问题终于解决了。

于 2017-09-29T14:26:15.030 回答