[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!
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Building JavaFX applications,
Ekaitz Zarraga <=