无法在Mac OS X 10.7.5上启动javafx jar

时间:2013-01-07 10:26:49

标签: macos javafx executable-jar

我在VMware播放器上运行Mac OS X 10.7.5。

我在我的系统上安装了这些 -

  1. 我有jdk-7u12-ea-bin-b07-macosx-x86_64-27_dec_2012.dmg

  2. JRE-7u10-MacOSX的-x64.dmg

  3. 的netbeans-7.2.1-ML-JavaSE的-macosx.dmg

  4. 我已将Java Java Home设置为指向java 1.7。在命令提示符下,它将版本显示为 -

    Java(TM)SE运行时环境(版本1.7.0_12-ea-b07)

    Java HotSpot(TM)64位服务器VM(内置24.0-b28,混合模式)

    Whenener我正在尝试运行从我的JavaFX应用程序创建的jar文件。它在commd提示符上抛出这个致命错误 -

    # A fatal error has been detected by the Java Runtime Environment:
    
    #  SIGSEGV (0xb) at pc=0x00007fff88a54fdf, pid=404, tid=18947
    
    # JRE version: Java(TM) SE Runtime Environment (7.0_12-b07) (build 1.7.0_12-ea-b07)
    
    # Java VM: Java HotSpot(TM) 64-Bit Server VM (24.0-b28 mixed mode bsd-amd64 compressed oops)
    
    # Problematic frame:
    
    # C  [libobjc.A.dylib+0x9fdf]  objc_msgSend_fixup+0x5f
    
         

    #无法编写核心转储。核心转储已被禁用。至   启用核心转储,在启动Java之前尝试“ulimit -c unlimited”   再次

    # An error report file with more information is saved as:
    
    # /Users/User/Desktop/JavaFX/hs_err_pid404.log
    
    # If you would like to submit a bug report, please visit:
    
    #   http://bugreport.sun.com/bugreport/crash.jsp
    
    # The crash happened outside the Java Virtual Machine in native code.
    
    # See problematic frame for where to report the bug.
    
    
    Abort trap: 6
    

    前面有致命错误的详细信息 http://neelamsharma.s3.amazonaws.com/jarerrorlog.log

    在启动netbeans时会产生这个致命的错误 - http://neelamsharma.s3.amazonaws.com/hs_err_while%20_running_netbeans.log

    从系统偏好设置打开Java首选项时,它显示了这个致命的错误 - http://neelamsharma.s3.amazonaws.com/javapreferences.log

    我无法在Mac OS X上做任何事情,我该如何摆脱这些错误?

3 个答案:

答案 0 :(得分:0)

卸载EA jdk并使用已发布的版本。

答案 1 :(得分:0)

我为此问题记录了一个问题:http://javafx-jira.kenai.com/browse/RT-28144

答案 2 :(得分:0)

Neelam,您只需要在JavaFX加载prism.order类之前更改javafx.application.Applcation系统属性。

如果您的班级public static void main(String[])扩展了javafx.application.Application班级,请将main(String[])方法移至另一个班级,例如Main.java

2)在main(String[])方法中添加一些代码,将prism.order属性更改为"sw"(软件渲染),例如:

public class Main {

    public static void main(String[] args) {
        AccessController.doPrivileged(new PrivelegedAction<Void>() {
            @Override
            public Void run() {
                Properties props = System.getProperties();
                props.put("prism.order", "sw");
                Application.launch(YourApplication.class);
                return null;
            }
        });
    }

}