29 votes

--add-modules uniquement lors de la compilation

Je construis mon projet avec maven et . J'ai ajouté mon fichier pom.xml :

 <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, de l'exécuter à partir de la ligne de commande sans --add-modules java.xml.bind aux arguments de la ligne de commande java?

41voto

nullpointer Points 1135

J'ai fait cette réponse il y a un moment où j'ai répondu à ce que des informations supplémentaires à exposer non java.se packages en Java-9 à l'aide de Maven.

L'ajout de la partie spécifiquement axé sur l'utilisation de la version autonome de la java.xml.* Api. Pour s'adapter à laquelle vous pouvez probablement commencer à consommer de la dépendance à l'égard jaxb-api:2.3.0 qui peut être chargé en tant que module et peut être exécuté à partir du classpath. Le changement que vous devez faire est d'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>

De cette façon, vous vous assurez de la migration vers autonome Api pour le module ainsi que de délaisser le obsolète morceau de code.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X