转自:
http://blog.csdn.net/joanna2008/archive/2011/03/08/6232322.aspx
m2eclipe经常会报这个错,原因是对于安装了JDK的机器,会有两个jre,一个在C:/Program Files/Java/jre6下,一个在C:Program FilesJavajdk1.6.0_20jre, 而默认eclipse如果不做改变,会使用前者,而m2eclipse默认会去找JDK下的jre
解决办法:
在eclipse.ini中添加两行
-vm
C:/Program Files/Java/jdk1.6.0_16/bin/javaw.exe
注意: 要写在两行,写在一行不能生效
注意: 这两行要定在-vmargs之前,不然也不能生效
注意: 最后一行也可以写成C:/Program Files/Java/jdk1.6.0_16/bin/
好了,不出意外,重新启动eclipse,应该会好。但是如果有意外,你会启动不起来eclipse,并且会报错“could not create the java virtual machine ”.
这个多半是Xmx设置不合适导致的
打开到eclipse安装文件夹下的eclipse.ini文件,内容如下:
-vm
C:/Program Files/Java/jdk1.6.0_16/bin/javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms512m
-Xmx1024m
-XX:PermSize=256M
-XX:MaxPermSize=512M
暂时不知道什么意思,但是知道是控制eclipse内存消耗的,修改如下:
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=128M
再次启动eclipse,可以了,惊叹,这些参数分别是什么意思呢?google一下:
-vmargs是表示下面是设置JVM(java虚拟机)的参数,也就是说下面都是java虚拟机的参数,对于JVM来说,内存分为堆内存和非堆内存,注意这里的堆不是c/c++里面的堆的概念,因为jvm自己管理内存,所谓堆上的内存就是jvm可以分配给java应用程序使用的内存,由-Xms和-Xmx这两个参数限定,而非堆内存则是JVM自己使用的,由-XX:PermSize和-XX:MaxPermSize这两个参数来限定。对于堆内存来讲,JVM根据剩余的堆内存的多少调整整个堆内存的大小,调整范围就是-Xms(最小)和-Xmx(最大)指定的范围,-XX:PermSize和-XX:MaxPermSize也是同样的道理,如果你不想JVM来动态调整的话,可以把最大和最小值设置相等,默认最小值是物理内存的1/64,最大值是物理内存的1/4,所以这个最大值就受到物理内存的限制(当然还会收到操作系统的限制)。
经过实验发现,如果-Xms的值比-Xmx设置的大则启动会失败;而如果-Xmx和-XX:MaxPermSize设置的值的和比可用的物理内存还大,启动也会失败,我的第一个设置,两者的和超过了1.5G,而当时可用内存正好小于1.5G,所以启动会失败,JVM在启动时会检测参数和实际可用内存。
分享到:
相关推荐
selenium+firefox在定位时遇到selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: 由于是js加载页面,想确认是否是js的原因,随后进行多次调试时发现“//div”竟然也出现了...
报错:java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.-附件资源
sudo apt install libstdc++6:i386 ``` 或者,可以采用更简便的方法,即直接安装 gcc-multilib: ```bash sudo apt install gcc-multilib ``` #### 五、解决找不到文件或目录的问题 在某些情况下,即使已经...
Can’t locate ExtUtils/MakeMaker.pm in @INC (@INC contains: inc /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5
Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.131-2.6.9.0.el7_3.x86_64/lib/tools.jar ``` 这表明系统中 JDK 的配置存在问题。进一步检查发现,当前安装的是 ...
To enable layout support, you've to call EnableLayout/GetLayout methods in the following classes: CBCGPDialog CBCGPDialogBar CBCGPropertyPage CBCGPFormView Please run ResizableForm new sample to ...
在Linux系统中,GCC(GNU Compiler Collection)是一个关键的开源工具链,用于编译C、C++、Fortran、Objective-C等编程语言的源代码。它不仅包括了编译器,还包括预处理器、链接器和其他相关工具。这篇文章将详细...
Spark在windows运行报错-ERROR Shell Failed to locate the winutils binary in the hadoop binary path java.io-附件资源
在使用Qt进行串行通信开发时,可能会遇到一个与Qt Serialbus模块相关的错误,提示“dropping older ADU fragments due to larger than 3.5 char”。这个错误通常出现在处理CAN(Controller Area Network)协议的数据...
包含winutils 注意版本 已经成功运行 之后配置环境变量 解决 Hadoop报错:Failed to locate the winutils binary in the hadoop binary path
本地开发Spark/Hadoop报错“ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.” ...
1、Unable to locate provider for protocol: smtp –>缺少依赖造成的 <groupId>javax.mail <artifactId>mail <version>1.4 <groupId>javax.activation <artifactId>activation</artifactId>
1、直接在“解决方案资源管理器”-“资源文件”中点右键,“添加”-“现有项”,把C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBPro\Styles中所有扩展名为 .rc 的资源包括进来即可。 2、直接在“资源视图”-...
ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. at org.apache.hadoop.util....
使用assembly插件打包jar后启动时,总是出现Unable to locate Spring NamespaceHandler for XML schema....错误,网上找了各种方法都没有用,在尝试了100+失败后,解决了这个问题,在打包的jar中,META-INF目录下,...
在windows环境下的eclipse或者idea中编写spark应用时,有时为了验证程序功能需要以本地模式运行...java.io.Exception: Could not locate executable null\bin\winutils.exe in the Hadoop binarie 本文件可以解决此异常
在本篇文章里小编给大家分享的是关于docker容器调用yum报错的解决办法,有兴趣的朋友们可以参考下。