【问题标题】:Failed to launch javafx jar on Max OS X 10.7.5无法在 Mac OS X 10.7.5 上启动 javafx jar
【发布时间】:2012-12-21 01:37:24
【问题描述】:

我在 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

我已将 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 文件。它在命令提示符下抛出这个致命错误-

# 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

ex 时致命错误的详细信息 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 上执行任何操作,如何消除此错误?

【问题讨论】:

  • 我在 Mac OS X 10.8.2 上尝试过相同的配置,仍然遇到同样的问题 :(
  • 我也遇到了同样的问题,我认为这与 os x 在 vmware 中缺乏适当的视频支持有关

标签: macos javafx executable-jar


【解决方案1】:

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

【讨论】:

  • 跟EA没关系,我试了好几个版本
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    如果您的带有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;
                }
            });
        }
    
    }
    

    【讨论】:

    • 启动应用时也可以使用-Dprism.order=sw。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 2014-09-17
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 2019-05-20
    相关资源
    最近更新 更多