11 et JavaFX JDK 11: build pour ARM (Board Tinker) ne fonctionne pas (non-concordance de hachage)

Fleximex:

J'ai un projet JavaFX 8 que je développe sur Windows 10 avec NetBeans 8.2. La construction JAR I de ce que j'ai en cours d'exécution sur un Asus Conseil Tinker.

Avec 11 et JavaFX JDK 11 Je veux profiter de quelques - unes des nouvelles fonctionnalités et de l' espoir pour un gain de performance. Après avoir installé NetBeans 10 et avec l'aide du tutoriel: https://openjfx.io/openjfx-docs/#introduction (section JavaFX et NetBeans> non modulaire avec Maven), j'ai réussi et peut exécuter porté l'application sur mon windows.

Soit par l'intermédiaire de l'EDI ou avec la commande rapide: java --module-path% PATH_TO_FX% --add-modules = javafx.c ONTRÔLES, javafx.fxml, javafx.graphics, javafx.media jar-jar-Praatpaal2-2.0 avec -dependencies.jar

Par rapport à JavaFX 8, les modules JavaFX sont maintenant ajoutés sous forme de modules.

Mais quand je fais la même chose au Conseil Asus Tinker (runnning Tinker OS (Debian)), je reçois l'erreur suivante:

Une erreur est survenue lors de l'initialisation de la couche d'amorçage java.lang.module.FindException: Hash de javafx.base (d87df23ee5c54c7ff062c4f8572bab8aaf6c1775854662008fccdb993957bcad) diffère de hachage attendue (320c5b0ffaf22fec9daf0c3e364f6598631b333fa95015a0f055e1c1c597c05b) enregistrée dans java.base

Il y a très peu d'informations sur ce décalage de hachage. Je soupçonne que ce soit tente de charger la version Windows de javafx.base.jar, ou j'utiliser org.openjfx dans le pom.xml Maven, mais reportez-vous à GluonHQ JavaFX sur l'exécution, ou il y a quelque chose de mal avec la configuration modulaire je .

Les dépendances et construire une partie de l'aspect pom.xml comme ceci:

<dependencies>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>11.0.2</version>
            <classifier>win</classifier>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-fxml</artifactId>
            <version>11.0.2</version>
            <classifier>win</classifier>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-graphics</artifactId>
            <version>11.0.2</version>
            <classifier>win</classifier>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-media</artifactId>
            <version>11.0.2</version>
            <classifier>win</classifier>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>11.0.2</version>
            <classifier>linux</classifier>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-fxml</artifactId>
            <version>11.0.2</version>
            <classifier>linux</classifier>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-graphics</artifactId>
            <version>11.0.2</version>
            <classifier>linux</classifier>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-media</artifactId>
            <version>11.0.2</version>
            <classifier>linux</classifier>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.6</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.8.1</version>
        </dependency>
        <dependency>
            <groupId>net.samuelcampos</groupId>
            <artifactId>usbdrivedetector</artifactId>
            <version>2.0.4</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <release>11</release>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.6.0</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>java</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <mainClass>nl.embeddedfitness.praatpaal2.Main</mainClass>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                            <archive>
                            <manifest>
                                <mainClass>
                                    nl.embeddedfitness.praatpaal2.Main
                                </mainClass>
                            </manifest>
                            </archive>
                            <descriptorRefs>
                                <descriptorRef>jar-with-dependencies</descriptorRef>
                            </descriptorRefs>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

J'ai essayé les 4 dépendances JavaFX avec et sans classificateur. Mais cela ne fait aucune différence. Le pot avec dépendances construit le pot avec toutes les dépendances, sauf celles JavaFX que je Rajouter exécution avec la commande java je l'ai mentionné plus tôt.

Pour utiliser Java 11 I:
https://bell-sw.com/pages/java-11.0.2
Microsoft Windows 64 bits pour le système Windows
Linux ARMv7 et 8 32 bits Hardfloat pour le Asus Conseil Tinker

Pour JavaFX 11 je utiliser:
https://gluonhq.com/products/javafx/
JavaFX SDK Windows pour le système Windows
JavaFX SDK armv6hf pour le Asus Conseil Tinker

Fleximex:

Avec l'aide de José Pereda je me suis souvenu que j'ai installé la version allégée de JDK Bellsoft sans les modules de JavaFX. J'ai maintenant la version complète avec ces modules. Je suppose que je ne l' ai pas besoin puisque je les renvoie aux packages Java FX GluonHQ (--add-modules) de toute façon.
Bellsoft ne contient pas JavaFX médias , donc je vais maintenant essayer d'utiliser les modules Java FX Bellsoft JDK , mais seulement ajouter les médias via --add-modules, mais il se peut que des médias ne fonctionne tout simplement pas exister / travail pour ARM (encore).

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=176993&siteId=1
conseillé
Classement