Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8123336

Mac: standalone app built with packager doesn't start up

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • None
    • 8
    • deploy
    • Mac

      SceneBuilder 2.0 bundle on Mac doesn't allow to start the application.
      The build 1 is built with FX 8 b104 and the build 2 with FX 8 b109; for both we get the same issue.
      This issue is specific to Mac platform: Win and Linux are doing fine.

      The application doesn't start when using the launcher produced by the FX packager. But if I construct a command line "java <my-options> <my-class>" then it does fine.

      The output one get is below. The line 25 in ContentPanel.fxml is <Font size="16.0" />. It's as if the launcher doesn't set correctly the classpath, from there the PrismFontFactory cannot initialize.

      $ /Applications/JavaFX\ Scene\ Builder\ 2.0.app/Contents/MacOS/JavaFX\ Scene\ Builder\ 2.0
      java.lang.NullPointerException
      file:/Applications/JavaFX%20Scene%20Builder%202.0.app/Contents/Java/SceneBuilderKit.jar!/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanel.fxml:25
        at com.sun.javafx.font.PrismFontLoader.loadFont(PrismFontLoader.java:195)
        at javafx.scene.text.Font.<init>(Font.java:318)
        at com.sun.javafx.fxml.builder.JavaFXFontBuilder.build(JavaFXFontBuilder.java:75)
        at com.sun.javafx.fxml.builder.JavaFXFontBuilder.build(JavaFXFontBuilder.java:42)
        at javafx.fxml.FXMLLoader$ValueElement.processEndElement(FXMLLoader.java:743)
        at javafx.fxml.FXMLLoader.processEndElement(FXMLLoader.java:2688)
        at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2389)
        at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2283)
        at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractFxmlPanelController.makePanel(AbstractFxmlPanelController.java:58)
        at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractPanelController.getPanelRoot(AbstractPanelController.java:82)
        at com.oracle.javafx.scenebuilder.app.DocumentWindowController.controllerDidLoadFxml(DocumentWindowController.java:330)
        at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractFxmlWindowController.makeRoot(AbstractFxmlWindowController.java:65)
        at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractWindowController.getRoot(AbstractWindowController.java:41)
        at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractWindowController.getScene(AbstractWindowController.java:60)
        at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractWindowController.getStage(AbstractWindowController.java:82)
        at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractWindowController.openWindow(AbstractWindowController.java:96)
        at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.start(SceneBuilderApp.java:103)
        at com.sun.javafx.application.LauncherImpl$5.run(LauncherImpl.java:811)
        at com.sun.javafx.application.PlatformImpl$7.run(PlatformImpl.java:331)
        at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:297)
        at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:294)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.javafx.application.PlatformImpl$6.run(PlatformImpl.java:294)
        at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

      loader.getController()=com.oracle.javafx.scenebuilder.kit.editor.panel.content.ContentPanelController@5a22f10
      loader.getLocation()=jar:file:/Applications/JavaFX%20Scene%20Builder%202.0.app/Contents/Java/SceneBuilderKit.jar!/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanel.fxml
      loader.getController()=com.oracle.javafx.scenebuilder.app.DocumentWindowController@2cee161e
      loader.getLocation()=jar:file:/Applications/JavaFX%20Scene%20Builder%202.0.app/Contents/Java/SceneBuilderApp.jar!/com/oracle/javafx/scenebuilder/app/DocumentWindow.fxml
      Exception in Application start method
      Workaround until RT-13281 is implemented: keep toolkit alive
      java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:491)
      at com.javafx.main.Main.launchApp(Main.java:731)
      at com.javafx.main.Main.main(Main.java:882)
      Caused by: java.lang.RuntimeException: Exception in Application start method
      at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:868)
      at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:55)
      at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:157)
      at java.lang.Thread.run(Thread.java:724)
      Caused by: java.lang.RuntimeException: Failed to load file:/Applications/JavaFX%20Scene%20Builder%202.0.app/Contents/Java/SceneBuilderApp.jar!/com/oracle/javafx/scenebuilder/app/DocumentWindow.fxml
      at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractFxmlWindowController.makeRoot(AbstractFxmlWindowController.java:69)
      at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractWindowController.getRoot(AbstractWindowController.java:41)
      at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractWindowController.getScene(AbstractWindowController.java:60)
      at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractWindowController.getStage(AbstractWindowController.java:82)
      at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractWindowController.openWindow(AbstractWindowController.java:96)
      at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.start(SceneBuilderApp.java:103)
      at com.sun.javafx.application.LauncherImpl$5.run(LauncherImpl.java:811)
      at com.sun.javafx.application.PlatformImpl$7.run(PlatformImpl.java:331)
      at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:297)
      at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:294)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.sun.javafx.application.PlatformImpl$6.run(PlatformImpl.java:294)
      at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
      Caused by: java.lang.RuntimeException: Failed to load file:/Applications/JavaFX%20Scene%20Builder%202.0.app/Contents/Java/SceneBuilderKit.jar!/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanel.fxml
      at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractFxmlPanelController.makePanel(AbstractFxmlPanelController.java:63)
      at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractPanelController.getPanelRoot(AbstractPanelController.java:82)
      at com.oracle.javafx.scenebuilder.app.DocumentWindowController.controllerDidLoadFxml(DocumentWindowController.java:330)
      at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractFxmlWindowController.makeRoot(AbstractFxmlWindowController.java:65)
      ... 12 more
      Caused by: java.lang.NullPointerException
      at com.sun.javafx.font.PrismFontLoader.loadFont(PrismFontLoader.java:195)
      at javafx.scene.text.Font.<init>(Font.java:318)
      at com.sun.javafx.fxml.builder.JavaFXFontBuilder.build(JavaFXFontBuilder.java:75)
      at com.sun.javafx.fxml.builder.JavaFXFontBuilder.build(JavaFXFontBuilder.java:42)
      at javafx.fxml.FXMLLoader$ValueElement.processEndElement(FXMLLoader.java:743)
      at javafx.fxml.FXMLLoader.processEndElement(FXMLLoader.java:2688)
      at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2389)
      at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2283)
      at com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractFxmlPanelController.makePanel(AbstractFxmlPanelController.java:58)
      ... 15 more
      Exception in thread "AppKit Thread" java.lang.NoClassDefFoundError: Could not initialize class com.sun.javafx.font.PrismFontFactory
      at com.sun.javafx.font.PrismFontLoader.getSystemFontSize(PrismFontLoader.java:230)
      at javafx.scene.text.Font.getDefaultSystemFontSize(Font.java:70)
      at javafx.scene.text.Font.getDefault(Font.java:85)
      at javafx.scene.CssStyleHelper.<clinit>(CssStyleHelper.java:1458)
      at javafx.scene.Node.impl_processCSS(Node.java:8731)
      at javafx.scene.Parent.impl_processCSS(Parent.java:1217)
      at javafx.scene.Node.processCSS(Node.java:8637)
      at javafx.scene.Node.impl_processCSS(Node.java:8682)
      at com.oracle.javafx.scenebuilder.kit.metadata.util.Deprecation.processCSS(Deprecation.java:64)
      at com.oracle.javafx.scenebuilder.app.preview.PreviewPanelController$1$1.run(PreviewPanelController.java:97)
      at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:297)
      at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:294)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.sun.javafx.application.PlatformImpl$6.run(PlatformImpl.java:294)
      at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

            mhowe Mark Howe (Inactive)
            yjoan Yves Joan (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: