John Brice created NETBEANS-1786:
------------------------------------

             Summary: Unable to run/debug an OpenJFX project with a dedicated 
libraries folder
                 Key: NETBEANS-1786
                 URL: https://issues.apache.org/jira/browse/NETBEANS-1786
             Project: NetBeans
          Issue Type: Bug
    Affects Versions: 10.0
         Environment: Windows 10 1803 (64-bit)
Netbeans 10vc4
AdoptOpenJDK 11.0.1
OpenJFX 11.0.1 
            Reporter: John Brice


JavaFX project runs/debugs successfully in NetBeans unless the project has a 
dedicated library folder, then JavaFX fails to initialise.

Create a library for JavaFX (OpenJFX 11.0.1).
Create a normal Java Application, name _Test4_, deselect _Use Dedicated Folder 
for Storing Libraries_, accept all other defaults.

Overwrite default Test4 class with this:
{code:java}
package test4;

import javafx.application.Application;
import javafx.application.Platform;
import javafx.stage.Stage;

public class Test4 extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage stage) throws Exception {
        Platform.runLater(() -> {
            System.err.println("*** exiting");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException ex) {
                ex.printStackTrace();
            }
            Platform.exit();
            System.exit(0);
        });
    }
}
{code}
Add your library to the modulepath.
Add the OpenJFX jar files to the classpath.
Add --module-path %PATH_TO_FX% and --add-modules javafx.controls,javafx.fxml to 
VM options.

This project should successfully run/debug (all it does is print a message and 
exit).

Setting a dedicated libraries folder (project properties > Libraries > Browse) 
then importing the OpenJFX library, (or selecting _Use Dedicated Folder for 
Storing Libraries_ during project creation) causes the project to fail with
{noformat}
Graphics Device initialization failed for :  d3d, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing 
QuantumRenderer: no suitable pipeline found
    at 
javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
    at 
javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:222)
    at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
    at 
javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
    at 
javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
    at 
javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
    at 
javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:409)
    at 
javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
    at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at 
java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no 
suitable pipeline found
    at 
javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
    at 
javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
    at java.base/java.lang.Thread.run(Thread.java:834)
Exception in thread "main" java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
    at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at 
java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: No toolkit found
    at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)
    at 
javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
    at 
javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
    at 
javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
    at 
javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:409)
    at 
javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
    ... 5 more
C:\Users\fgbjbri\AppData\Local\NetBeans\Cache\10.0\executor-snippets\debug.xml:150:
 The following error occurred while executing this line:
C:\Users\fgbjbri\AppData\Local\NetBeans\Cache\10.0\executor-snippets\debug.xml:129:
 The following error occurred while executing this line:
C:\Users\fgbjbri\AppData\Local\NetBeans\Cache\10.0\executor-snippets\debug.xml:77:
 Java returned: 1{noformat}
The project compiles correctly and can be run from the command line.

If you delete the _lib_ folder and remove the _libraries_ section from 
_project.xml_, then clean up the classpath and modulepath (remove all libraries 
and re-add them) the project is run/debuggable again.

I've also seen this with projects with a dedicated libraries folder that worked 
correctly with JDK8 and Netbeans 8.2 but fail when moved to OpenJDK 11, OpenJFX 
11 & NetBeans 10.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org
For additional commands, e-mail: commits-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to