help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Building JavaFX applications


From: Ekaitz Zarraga
Subject: Building JavaFX applications
Date: Sun, 11 Jun 2023 13:32:02 +0000

Hi,

I need help building javafx applications. I don't know how to build a simple 
app:

This is my environment:

```
Ekaitz@tuxedo ~/projects/window$$ guix shell openjdk openjdk:jdk 
java-openjfx-graphics java-openjfx-controls java-openjfx-media 
java-openjfx-base java-openjfx-build
```

I look for the javafx module paths:

```
Ekaitz@tuxedo ~/projects/window$ [env]$ guix build java-openjfx-graphics 
java-openjfx-controls java-openjfx-media java-openjfx-base java-openjfx-build
/gnu/store/rynjd6sbgqhz7zpgzrdzl8fcpbykwxri-java-openjfx-build-8.202
/gnu/store/13l0qiwy3z88hiq49g9zdpcj77i16fx9-java-openjfx-base-8.202
/gnu/store/bwpkcbcm8cwkdcq7sviyya6pjb4ma3zk-java-openjfx-media-8.202
/gnu/store/f4bbx3524avpw1yn9b0z0fax9rmx4ayd-java-openjfx-controls-8.202
/gnu/store/hpcja76y3y0hpgkxvmv68jhxjlny2316-java-openjfx-graphics-8.202
```

If I don't add them to module paths they don't appear:

```
Ekaitz@tuxedo ~/projects/window$ [env]$ java --list-modules
java.base@19.0.1
java.compiler@19.0.1
java.datatransfer@19.0.1
java.desktop@19.0.1
java.instrument@19.0.1
java.logging@19.0.1
java.management@19.0.1
java.management.rmi@19.0.1
java.naming@19.0.1
java.net.http@19.0.1
java.prefs@19.0.1
java.rmi@19.0.1
java.scripting@19.0.1
java.se@19.0.1
java.security.jgss@19.0.1
java.security.sasl@19.0.1
java.smartcardio@19.0.1
java.sql@19.0.1
java.sql.rowset@19.0.1
java.transaction.xa@19.0.1
java.xml@19.0.1
java.xml.crypto@19.0.1
jdk.accessibility@19.0.1
jdk.attach@19.0.1
jdk.charsets@19.0.1
jdk.compiler@19.0.1
jdk.crypto.cryptoki@19.0.1
jdk.crypto.ec@19.0.1
jdk.dynalink@19.0.1
jdk.editpad@19.0.1
jdk.hotspot.agent@19.0.1
jdk.httpserver@19.0.1
jdk.incubator.concurrent@19.0.1
jdk.incubator.vector@19.0.1
jdk.internal.ed@19.0.1
jdk.internal.jvmstat@19.0.1
jdk.internal.le@19.0.1
jdk.internal.opt@19.0.1
jdk.internal.vm.ci@19.0.1
jdk.internal.vm.compiler@19.0.1
jdk.internal.vm.compiler.management@19.0.1
jdk.jartool@19.0.1
jdk.javadoc@19.0.1
jdk.jcmd@19.0.1
jdk.jconsole@19.0.1
jdk.jdeps@19.0.1
jdk.jdi@19.0.1
jdk.jdwp.agent@19.0.1
jdk.jfr@19.0.1
jdk.jlink@19.0.1
jdk.jpackage@19.0.1
jdk.jshell@19.0.1
jdk.jsobject@19.0.1
jdk.jstatd@19.0.1
jdk.localedata@19.0.1
jdk.management@19.0.1
jdk.management.agent@19.0.1
jdk.management.jfr@19.0.1
jdk.naming.dns@19.0.1
jdk.naming.rmi@19.0.1
jdk.net@19.0.1
jdk.nio.mapmode@19.0.1
jdk.random@19.0.1
jdk.sctp@19.0.1
jdk.security.auth@19.0.1
jdk.security.jgss@19.0.1
jdk.unsupported@19.0.1
jdk.unsupported.desktop@19.0.1
jdk.xml.dom@19.0.1
jdk.zipfs@19.0.1
```

But If I add them they appear:

```
Ekaitz@tuxedo ~/projects/window$ [env]$ java --list-modules --module-path 
/gnu/store/rynjd6sbgqhz7zpgzrdzl8fcpbykwxri-java-openjfx-build-8.202/share/java:/gnu/store/13l0qiwy3z88hiq49g9zdpcj77i16fx9-java-openjfx-base-8.202/share/java:/gnu/store/bwpkcbcm8cwkdcq7sviyya6pjb4ma3zk-java-openjfx-media-8.202/share/java:/gnu/store/f4bbx3524avpw1yn9b0z0fax9rmx4ayd-java-openjfx-controls-8.202/share/java:/gnu/store/hpcja76y3y0hpgkxvmv68jhxjlny2316-java-openjfx-graphics-8.202/share/java
java.base@19.0.1
java.compiler@19.0.1
java.datatransfer@19.0.1
java.desktop@19.0.1
java.instrument@19.0.1
java.logging@19.0.1
java.management@19.0.1
java.management.rmi@19.0.1
java.naming@19.0.1
java.net.http@19.0.1
java.prefs@19.0.1
java.rmi@19.0.1
java.scripting@19.0.1
java.se@19.0.1
java.security.jgss@19.0.1
java.security.sasl@19.0.1
java.smartcardio@19.0.1
java.sql@19.0.1
java.sql.rowset@19.0.1
java.transaction.xa@19.0.1
java.xml@19.0.1
java.xml.crypto@19.0.1
jdk.accessibility@19.0.1
jdk.attach@19.0.1
jdk.charsets@19.0.1
jdk.compiler@19.0.1
jdk.crypto.cryptoki@19.0.1
jdk.crypto.ec@19.0.1
jdk.dynalink@19.0.1
jdk.editpad@19.0.1
jdk.hotspot.agent@19.0.1
jdk.httpserver@19.0.1
jdk.incubator.concurrent@19.0.1
jdk.incubator.vector@19.0.1
jdk.internal.ed@19.0.1
jdk.internal.jvmstat@19.0.1
jdk.internal.le@19.0.1
jdk.internal.opt@19.0.1
jdk.internal.vm.ci@19.0.1
jdk.internal.vm.compiler@19.0.1
jdk.internal.vm.compiler.management@19.0.1
jdk.jartool@19.0.1
jdk.javadoc@19.0.1
jdk.jcmd@19.0.1
jdk.jconsole@19.0.1
jdk.jdeps@19.0.1
jdk.jdi@19.0.1
jdk.jdwp.agent@19.0.1
jdk.jfr@19.0.1
jdk.jlink@19.0.1
jdk.jpackage@19.0.1
jdk.jshell@19.0.1
jdk.jsobject@19.0.1
jdk.jstatd@19.0.1
jdk.localedata@19.0.1
jdk.management@19.0.1
jdk.management.agent@19.0.1
jdk.management.jfr@19.0.1
jdk.naming.dns@19.0.1
jdk.naming.rmi@19.0.1
jdk.net@19.0.1
jdk.nio.mapmode@19.0.1
jdk.random@19.0.1
jdk.sctp@19.0.1
jdk.security.auth@19.0.1
jdk.security.jgss@19.0.1
jdk.unsupported@19.0.1
jdk.unsupported.desktop@19.0.1
jdk.xml.dom@19.0.1
jdk.zipfs@19.0.1
java.openjfx 
file:///gnu/store/rynjd6sbgqhz7zpgzrdzl8fcpbykwxri-java-openjfx-build-8.202/share/java/java-openjfx.jar
 automatic
java.openjfx.base 
file:///gnu/store/13l0qiwy3z88hiq49g9zdpcj77i16fx9-java-openjfx-base-8.202/share/java/java-openjfx-base.jar
 automatic
java.openjfx.controls 
file:///gnu/store/f4bbx3524avpw1yn9b0z0fax9rmx4ayd-java-openjfx-controls-8.202/share/java/java-openjfx-controls.jar
 automatic
java.openjfx.graphics 
file:///gnu/store/hpcja76y3y0hpgkxvmv68jhxjlny2316-java-openjfx-graphics-8.202/share/java/java-openjfx-graphics.jar
 automatic
java.openjfx.media 
file:///gnu/store/bwpkcbcm8cwkdcq7sviyya6pjb4ma3zk-java-openjfx-media-8.202/share/java/java-openjfx-media.jar
 automatic
```

But I can't compile a file with them:

```
Ekaitz@tuxedo ~/projects/window$ [env]$ javac --module-path 
/gnu/store/rynjd6sbgqhz7zpgzrdzl8fcpbykwxri-java-openjfx-build-8.202/share/java:/gnu/store/13l0qiwy3z88hiq49g9zdpcj77i16fx9-java-openjfx-base-8.202/share/java:/gnu/store/bwpkcbcm8cwkdcq7sviyya6pjb4ma3zk-java-openjfx-media-8.202/share/java:/gnu/store/f4bbx3524avpw1yn9b0z0fax9rmx4ayd-java-openjfx-controls-8.202/share/java:/gnu/store/hpcja76y3y0hpgkxvmv68jhxjlny2316-java-openjfx-graphics-8.202/share/java
 --add-modules 
java.openjfx.controls,java.openjfx.media,java.openjfx.graphics,java.openjfx.base
 HelloFX.java
error: module java.openjfx.controls reads package netscape.javascript from both 
java.openjfx.graphics and jdk.jsobject
error: module java.openjfx reads package netscape.javascript from both 
java.openjfx.graphics and jdk.jsobject
error: module java.openjfx.media reads package netscape.javascript from both 
java.openjfx.graphics and jdk.jsobject
error: module java.openjfx.graphics reads package netscape.javascript from both 
java.openjfx.graphics and jdk.jsobject
error: module java.openjfx.base reads package netscape.javascript from both 
java.openjfx.graphics and jdk.jsobject
error: the unnamed module reads package netscape.javascript from both 
jdk.jsobject and java.openjfx.graphics
6 errors
```

This is the file I'm trying to compile:

``` java
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class HelloFX extends Application {

    @Override
    public void start(Stage stage) {
        String javaVersion = System.getProperty("java.version");
        String javafxVersion = System.getProperty("javafx.version");
        Label l = new Label("Hello, JavaFX " + javafxVersion + ", running on 
Java " + javaVersion + ".");
        Scene scene = new Scene(new StackPane(l), 640, 480);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch();
    }

}
```

Can anyone help me solve this issue?

Is it possible to simple add them via the CLASSPATH and avoid the module system?

Thank you!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]