Préparer l'environnement pour java11 et javaFx avec Ubuntu 18.4

environnement

ubuntu

___@kubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.1 LTS
Release:	18.04
Codename:	bionic

Si vous mettez java, ce sera comme ça

___@kubuntu:~$ java --version
opensdk 11.0.1 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)

___@kubuntu:~$ javac --version
javac 11.0.1

Installez openjdk

À partir du 18 novembre 2018, si vous installez openjdk-11-jdk avec apt, openjdk10 sera installé. Il semble changer dans le futur

Cette fois, installez java11 en utilisant sdkman

  1. Vous pouvez installer sdkman simplement en suivant https://sdkman.io/install
  2. Vous pouvez installer java11 simplement en suivant https://sdkman.io/sdks
  3. Vérifiez avec java --version et javac --version

Le corps principal de java lorsqu'il est installé avec sdkman

/home/Nom d'utilisateur/.sdkman/candidates/java/11.0.1-open

C'est dedans

Écrivez le chemin ici lorsque vous spécifiez jdk avec Intellij, etc.

Télécharger javaFx

  1. Téléchargez sur https://openjfx.io/

Cette fois, j'ai décidé de le placer dans / opt

/opt/openjfx-11.0.1_linux-x64_bin-sdk/
└── javafx-sdk-11.0.1
    ├── legal
    ...Abréviation
    └── lib
    ...Abréviation

Courir avec intellij

Créer un projet javafx

Comment le faire en référence aux autres

Paramètres qui n'utilisent pas gradle cette fois

  1. Écrivez le code de manière appropriée. Tout échantillon est bien intelij_sample.png

  2. Appuyez sur [Main ▼] en haut à gauche pour ouvrir les configurations d'édition

  3. Ecrire des paramètres tels que jdk editconfig.png

  4. Définissez l'option VM comme suit vmoption.png

--module-path=/opt/openjfx-11.0.1_linux-x64_bin-sdk/javafx-sdk-11.0.1/lib
--add-modules=javafx.controls
--add-modules=javafx.swing
--add-modules=javafx.base
--add-modules=javafx.fxml
--add-modules=javafx.media
--add-modules=javafx.web
  1. Appuyez sur OK
  2. Exécutez avec Shift + F10

Point addictif

Si vous recherchez normalement sur le net, il existe de nombreux articles qui ne contiennent que javafx.controls, ce qui est incomplet. Dans cet état, l'exception suivante apparaîtra, incluez donc tous les modules. cannotexecute.png

/home/___/.sdkman/candidates/java/11.0.1-open/bin/java -Djava.library.path=/opt/openjfx-11.0.1_linux-x64_bin-sdk/javafx-sdk-11.0.1/lib --module-path=/opt/openjfx-11.0.1_linux-x64_bin-sdk/javafx-sdk-11.0.1/lib --add-modules=javafx.controls -javaagent:/home/___/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/182.5107.16/lib/idea_rt.jar=43339:/home/___/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/182.5107.16/bin -Dfile.encoding=UTF-8 -classpath /home/___/sandbox/javafxtry/out/production/javafxtry:/opt/openjfx-11.0.1_linux-x64_bin-sdk/javafx-sdk-11.0.1/lib/src.zip:/opt/openjfx-11.0.1_linux-x64_bin-sdk/javafx-sdk-11.0.1/lib/javafx-swt.jar:/opt/openjfx-11.0.1_linux-x64_bin-sdk/javafx-sdk-11.0.1/lib/javafx.web.jar:/opt/openjfx-11.0.1_linux-x64_bin-sdk/javafx-sdk-11.0.1/lib/javafx.base.jar:/opt/openjfx-11.0.1_linux-x64_bin-sdk/javafx-sdk-11.0.1/lib/javafx.fxml.jar:/opt/openjfx-11.0.1_linux-x64_bin-sdk/javafx-sdk-11.0.1/lib/javafx.media.jar:/opt/openjfx-11.0.1_linux-x64_bin-sdk/javafx-sdk-11.0.1/lib/javafx.swing.jar:/opt/openjfx-11.0.1_linux-x64_bin-sdk/javafx-sdk-11.0.1/lib/javafx.controls.jar:/opt/openjfx-11.0.1_linux-x64_bin-sdk/javafx-sdk-11.0.1/lib/javafx.graphics.jar sample.Main
Exception in Application start method
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 javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464)
	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: Exception in Application start method
	at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900)
	at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalAccessError: class com.sun.javafx.fxml.FXMLLoaderHelper (in unnamed module @0x2f837822) cannot access class com.sun.javafx.util.Utils (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.util to unnamed module @0x2f837822
	at com.sun.javafx.fxml.FXMLLoaderHelper.<clinit>(FXMLLoaderHelper.java:38)
	at javafx.fxml.FXMLLoader.<clinit>(FXMLLoader.java:2056)
	at sample.Main.start(Main.java:13)
	at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
	at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
	at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
	at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
	at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
	at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
	... 1 more
Exception running application sample.Main

Process finished with exit code 1

Recommended Posts

Préparer l'environnement pour java11 et javaFx avec Ubuntu 18.4
Préparer un environnement de scraping avec Docker et Java
Préparez l'environnement pour CUDA, Nvida-Driver et cuDNN sur un PC Ubuntu 18.04 équipé de Geforce RTX2080 SUPER.
Préparer l'environnement de développement Java avec Atom
Préparer l'environnement de développement Java avec VS Code
Préparer l'environnement de format pour "Rails" (VScode)
Préparer l'environnement de développement de langage JVM avec WSL
Préparez l'environnement CentOS 8 avec Sakura VPS
Créez un environnement Apache et Tomcat avec Docker. À propos, coopération Maven & Java
Réécrivez le code de java.io.File avec java.nio.Path et java.nio.Files
[Java] Procédure de construction de l'environnement pour le développement de struts 1.3 avec Eclipse
Ce dont les ingénieurs Java ont besoin pour se préparer à la version Java 11
Créer un environnement de développement Java + Spring avec VirtualBox + Ubuntu (Xfce4)
Comment quitter Docker pour Mac et créer un environnement de développement Docker avec Ubuntu + Vagrant
Préparer l'environnement Python3 avec CentOS7
Construction de l'environnement JavaFX dans Java 13
Instructions Java while et for
Stocker dans une carte Java 2D et tourner avec pour instruction
Déploiement d'un environnement Java avec le sous-système Windows pour Linux (WSL)
Trouvez la classe d'adresse et le type d'adresse à partir de l'adresse IP avec Java
Premiers pas avec Java et création d'un éditeur Ascii Doc avec JavaFX
Changez la cible d'injection pour chaque environnement avec Spring Boot 2
Les débutants installent Docker pour Mac et préparent l'environnement d'exploitation php7.0
[Java] Vérifiez la différence entre orElse et orElseGet avec IntStream
Modifiez la valeur du paramètre pour chaque environnement avec Digdag (RubyOnRails)
Java définit la couleur et l'image d'arrière-plan des documents PowerPoint
Accédez à l'API Web avec Get sur Android et traitez Json (Java pour le moment)
Utiliser java avec MSYS et Cygwin
Traçage distribué avec OpenCensus et Java
Installez Java et Tomcat avec Ansible
SDK AWS pour Java 1.11.x et 2.x
Construction d'environnement avec Docker pour les débutants
Java pour les débutants, les expressions et les opérateurs 1
Utilisez JDBC avec Java et Scala.
Java pour les débutants, les expressions et les opérateurs 2
À propos de l'environnement de développement actuel (Java 8)
Jusqu'à ce que l'environnement docker soit créé et que le conteneur Ubuntu soit démarré et arrêté
Création d'un environnement de développement Java (pour Mac)
Suivez le lien avec Selenium (Java)
Sortie PDF et TIFF avec Java 8
Comment installer le langage utilisé dans Ubuntu et comment créer l'environnement
Parcourez Java et MySQL PATH avec des variables d'environnement [version Windows]
Activer les SDK Java 8 et Java 11 sur Ubuntu
Faites glisser et déposez des fichiers avec JavaFX
[Java & SpringBoot] Construction de l'environnement pour Mac
Classes et instances Java pour les débutants
Crypter avec Java et décrypter avec C #
Créez un environnement de développement d'applications Web qui utilise Java, MySQL et Redis avec Docker CE pour Windows
Trouvez la classe d'adresse et le type d'adresse à partir de l'adresse IP avec Java [décoction n ° 2]
Attendez que PostgreSQL démarre avec Docker, puis démarrez le service WEB
[First Java] Créez quelque chose qui fonctionne avec Intellij pour le moment
[Java] Créez un fichier jar compressé et non compressé avec la commande jar
Création d'un environnement de développement pour les applications Web Java avec Docker pour Mac Part1
Mettez Zabbix dans Ubuntu avec Docker et surveillez Docker sur le même hôte