OSX 10.10和Eclipse Luna。从Eclipse内部启动时,自己的应用程序崩溃

时间:2014-10-19 12:18:47

标签: java eclipse macos

我今天已经更新到Yosemite并且在java方面遇到了很多问题。大多数java应用程序在启动时崩溃,但在重新安装旧的Mac-Java 1.6之后,这个问题似乎已经解决了。

但我还有另外一个大问题。当我启动Eclipse Luna并构建我自己的Java应用程序并使用Eclipse中的运行按钮启动此应用程序时,它会崩溃并显示以下报告:

dyld: lazy symbol binding failed: Symbol not found: _CGContextSetAllowsAcceleration
  Referenced from: /Library/Java/JavaVirtualMachines/1.6.0_35-b10-428.jdk/Contents/Libraries/libawt.jnilib
  Expected in: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices

dyld: Symbol not found: _CGContextSetAllowsAcceleration
  Referenced from: /Library/Java/JavaVirtualMachines/1.6.0_35-b10-428.jdk/Contents/Libraries/libawt.jnilib
  Expected in: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices

当我将应用程序导出为.jar文件并从eclipse外部启动时,eveything工作正常。

你有什么解决方法我可以解决这个问题吗?否则我必须重新安装小牛才能明天提高效率。

5 个答案:

答案 0 :(得分:17)

使用http://support.apple.com/kb/DL1572重新安装后,我在系统中有两个JDK 1.6版本。

  1. /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk /
  2. /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/(1.6.0_65-b14-466.1)
  3. Eclipse使用

    1(-462)。它给出了与你相同的错误。

    从命令行使用

    2(-466)。那个人工作了。

    所以我在Eclipse首选项中更改了“Installed JREs”,因此它指向了数字2(-466)。之后一切正常。

    /马丁

答案 1 :(得分:6)

This fix为我工作:

打开您的/Applications/{YOUR_IDEA}/Contents/Info.plist文件,并通过更改

指向更新的java
<key>JVMVersion</key>
<string>1.6*</string>

<key>JVMVersion</key>
<string>1.7+</string>

答案 2 :(得分:1)

我有同样的问题。从http://support.apple.com/kb/DL1572

重新安装java

之后它对我有用。

答案 3 :(得分:0)

面向未来用户:我在netbeans和webstorm上遇到了这个问题。正如其他人所说的

  1. 将jdk更新为http://support.apple.com/kb/DL1572
  2. 并通过添加(修改现有)以下内容更新“〜/ .bash_profile”文件以指向新的(已更新!)jdk 6位置:
  3. export PATH=$PATH:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin
    export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
    

    netbean用户的额外注意事项:如果您之前已覆盖它,请确保“/ Applications / NetBeans / NetBeans 7.3.1.app/Contents/Resources/NetBeans/etc/netbeans.conf”文件指向正确的jdk home:< / p>

      

    netbeans_jdkhome = “/系统/库/框架/ JavaVM.framework /版本/ 1.6.0 /主页”

答案 4 :(得分:0)

当我的mac崩溃并被替换(保留硬盘驱动器)时,我的Eclipse有一些问题需要解决。其中我的一些项目指的是1.6实际上我已经更新到1.7并且该项目需要更新此设置。

右键单击项目 - &gt; properties-&gt; Java Build Path-&gt; Libraries-&gt; Add Library-&gt; JRE System Library

系统将找到已安装的JRE并将其设为默认值。删除旧的JRE并运行该应用程序。