zoukankan      html  css  js  c++  java
  • 关于打开Eclipse时出现eclipse failed to create the java virtual machine与locking is not possible in the direc

    原文转自:http://www.cnblogs.com/steararre/p/4037453.html


    今天在机子上使用Eclipse时候打开发现这两个问题,通过查阅资料膜拜大神博客得知解决方法,特此整理下来,方便后来遇到此问题的小伙伴们。

    一开始打开Eclipse时候出现问题现象1,问题1解决以后就出现了问题2,。


    1.问题1现象(eclipse failed to create the java virtual machine


    2.问题1解决方法
    这是创建Java虚拟机初始化失败,找到Eclipse解压路径以及初始化文件




    用ultraEdit打开,出现如下图所示情况时,点击“否”或者“取消”皆可

    出现如下图所示,此时将圆圈里的数字都改为显示的1/2就可以了(如,原始值为512则改为256,原始值为256则改为128等),注意,某经验(http://jingyan.baidu.com/article/afd8f4de466baf34e286e917.html)某知道(http://zhidao.baidu.com/link?url=dRzVjFMK_2MW1smnuLH4dIKEmV3YlDQHPABoV3VkRDfKt8nE_WmV50yiY3vSDu8gqOiCaKtgRGNFAoqW4UxoYa)所列出的
    方法没有说明具体怎么改,不同版本的初始化文件内容不同。

    更改后文件为下图所示(红色圆圈中为所做改动之处)

    保存以后重新打开Eclipse完美解决“eclipse failed to create the java virtual machine”的问题。

    3.问题1解决方法参考资料
    感谢此博客博主(http://blog.csdn.net/yuanfei_1988/article/details/5919168)但是博主只是对前两个进行了当前值改为1/2的变动,但是
    我按照此方法没有修复这个问题,所以我就把4个值都改了,这才管用。
    以下引自上述博客:

    ----------------------------------------------------------------------------------------------------------------------------------
    “虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制设置。
    说明:PermSize和MaxPermSize指明虚拟机为java永久生成对象(Permanate generation)等这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。
    -Xms128m 
    表示JVM Heap(堆内存)最小尺寸128MB,初始分配
    -Xmx512m 
    表示JVM Heap(堆内存)最大允许的尺寸256MB,按需分配。
    -XX:PermSize=64MB 最小尺寸,初始分配
    -XX:MaxPermSize=256MB 最大允许分配尺寸,按需分配
    过小会导致:java.lang.OutOfMemoryError: PermGen space”

    ------------------------------------------------------------------------------------------------------------------------------------

    4.问题1另一解决方法(貌似抓住了问题的根本)
    感谢@wucccsk 与@JustDoNow 在此博客(http://blog.csdn.net/yuanfei_1988/article/details/5919168)评论区给出的另一种解决方法并做出了相应的解释,如下:
    个人认为,如果机器已经装了jdk了,在eclipse.ini中增加jvm的完整路径的方法更好一点。如果不设置vm选项,有可能eclipse会使用自带的java虚拟机,这样需要的内存就会超过默认的256m的限制了,是这个原因。。。
    找到了另一个解决方案,就是在eclipse.ini中增加jvm的完整路径:
    -vm
    D:Javajdk1.6.0_29injavaw.exe
    ----------
    注意这个参数的放置位置,我放在文件最下面时还是不行,放在-vmargs参数上面就可以了。

    PS:此方法我木有尝试,如上述方法不能解决或出现问题时可选择此方法解决。

    -------------------------------------------------------------------------------------------------------------------------------------

    可是就在我兴高采烈地准备打开心爱的Eclipse开始我苦逼的学习时刻时候,我发现,另一个问题接踵而来,妈蛋 = =


    5.问题2现象(locking is not possible in the directory
    其具体现象如下图所示:


    6.问题2解决方法
    依然按照问题1解决方法找到并打开 Eclipse directory中的eclipse.ini
    在文件最后加入加入这句话:“-Dosgi.configuration.area=@user.home/.eclipse”(注意添加为引号内的)
    如下图所示:


    上图中圆圈内为新加入内容。
    最后保存, 重新打开eclipse完美修复!

    7.问题2参考资料
    (1)某经验:http://jingyan.baidu.com/article/a17d52853a90998099c8f249.html
    (2)某贴吧:http://tieba.baidu.com/p/3032965697(6楼)
    Inside the Eclipse directory you can find a eclipse.ini file. There you can put the vm arguments, although the one suggested by Eclipse won't work.
    My environment started working with this one:
    -Dosgi.configuration.area=@user.home/.eclipse
    This way, each user inside the environment that run the Eclipse program, will create a different .eclipse directory inside the particular home, with full rights and zero problems.

    啊!终于可以顺利的学习了!


  • 相关阅读:
    Spring Cloud云架构
    Spring Cloud云架构
    Spring Cloud云架构
    Spring Cloud云架构
    Spring Cloud Consul
    Spring Cloud Eureka
    构建Spring Cloud微服务分布式云架构
    数据库三范式
    redis3.0.0 集群安装详细步骤
    sql优化的几种方法
  • 原文地址:https://www.cnblogs.com/anyuan9/p/6171541.html
Copyright © 2011-2022 走看看