Je construis mon projet avec maven et Java-9 . J'ai ajouté dans mon pom.xml
fichier:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${Java.version}</source>
<target>${Java.version}</target>
<compilerArgs>
<arg>--add-modules</arg>
<arg>Java.xml.bind</arg>
</compilerArgs>
</configuration>
</plugin>
Mais encore, pour exécuter l'application, je dois l'exécuter comme ceci:
Java -jar --add-modules Java.xml.bind my-app.jar
Existe-t-il un moyen de créer l’application, d’exécuter à partir de la ligne de commande sans --add-modules Java.xml.bind
to Java arguments en ligne de commande?
J'ai fait cette réponse il y a quelque temps, j'ai répondu à cela en tant qu'information supplémentaire pour exposer non Java.se
paquets en Java-9 utilisant Maven.
La partie ajoutée concerne spécifiquement l’utilisation de la version autonome de la Java.xml.*
API. Pour vous adapter à ce que vous pouvez probablement commencer à consommer la dépendance sur jaxb-api:2.3.0
qui peut être chargé en tant que module et peut également être exécuté à partir du chemin de classe. La modification à apporter consiste à ajouter les éléments suivants à votre liste de dépendances:
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
Ainsi, vous assurez la migration du module vers des API autonomes et vous éloignez d'un morceau de code obsolète.