Unable to locate the Javac Compiler in: C:Program FilesJavajre6..libtools.jar解决办法
来源:互联网 发布:知无涯者 拉马努金传 编辑:程序博客网 时间:2024/06/04 17:33
在安装了m2eclipe之后,从SVN上导入了一个项目后,经常会报这个错,上网查了资料,发现原因是安装了JDK之后,有两个jre,一个在C:/Program Files/Java/jre6下,一个在C:Program FilesJava/jdk1.6.0_20/jre, 而默认eclipse如果不做改变,会使用前者,而m2eclipse默认会去找JDK下的jre。而且在eclipse的配置文件中对于-vm的配置也不对。
解决办法:
在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在启动时会检测参数和实际可用内存。
- Unable to locate the Javac Compiler in: C:Program FilesJavajre6..libtools.jar解决办法
- m2eclipse报错:Unable to locate the Javac Compiler in: C:Program FilesJavajre6..libtools.jar
- eclipse报错:Unable to locate the Javac Compiler in: C:Program FilesJavajre6..libtools.jar
- Unable to locate the Javac Compiler in: [ERROR] C:\Program Files\Java\jre7\..\lib\tools.jar
- Unable to locate the Javac Compiler in:C:/Program Files/Java/jre1.5.0_22/../lib/tools.jar
- maven install Unable to locate the Javac Compiler in: C:\Program Files\Java\jre7\..\lib\tools.jar
- Unable to locate the Javac Compiler 解决办法
- Maven报错: Unable to locate the Javac Compiler in: D:\Program\java\jre1.7.0_45\..\lib\tools.jar
- maven 报Unable to locate the Javac Compiler in: D:\Program Files\Java\jdk1.6.0_20\..\lib\tools.jar
- maven报错:Unable to locate the Javac Compiler in: D:\Program Files\Java\jre7\..\lib\tools.jar
- 使用eclipse运行maven项目提示Unable to locate the Javac Compiler in: C:/Program Files/Java/jre6/../lib/tools.
- Maven: Unable to locate the Javac Compiler 解决办法
- .[ERROR] Unable to locate the Javac Compiler in
- Maven-6:问题:Unable to locate the Javac Compiler in:
- eclipse maven Unable to locate the Javac Compiler in:
- Eclipse: Problem: Unable to locate the Javac Compiler in...
- Maven出现 Unable to locate the Javac Compiler in解决方法
- Maven出现 Unable to locate the Javac Compiler in解决方法
- Android RelativeLayout 属性大全
- 如何理解c和c ++的复杂类型声明
- Google发布新一代Google Maps:全新3D、离线服务、轻便拍摄装备、用户参与
- 项目总结(1)
- 以超级管理员(root)身份运行adb和fastboot
- Unable to locate the Javac Compiler in: C:Program FilesJavajre6..libtools.jar解决办法
- EF POCO (自定义实体类) 创建过程
- 黑马程序员_文件的切割
- android mediascanner 扫描时机 记录
- 一个或多个avtiveX空间无法显示
- SQL Server 阻止了对组件 \'Ad Hoc Distributed Queries\' 的访问
- Sql Server 2000数据库备份文件还原成Sql Server 2005
- 不要做浮躁的嵌入式系统工程师【转载】
- ArcGIS API for Silverlight 动态图层(ArcGISDynamicMapServiceLayer)的显示与隐藏