plugin compiler java maven jaxb java-9 maven-compiler-plugin

compiler - maven java 10



--add-modules solo en compilaciĆ³n (1)

Hice esta respuesta hace un tiempo, donde respondí esto como información adicional para exponer paquetes no java.se en Java-9 usando Maven.

La parte agregada se centra específicamente en el uso de la versión independiente de las API java.xml.* . Para adaptarse a lo que probablemente pueda comenzar a consumir la dependencia de jaxb-api:2.3.0 que se puede cargar como un módulo y también se puede ejecutar desde el classpath. El cambio que debe hacer es agregar lo siguiente a su lista de dependencias:

<dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.0</version> </dependency>

De esta manera, se asegura de migrar a API independientes para el módulo, así como alejarse de un fragmento de código obsoleto.

Estoy construyendo mi proyecto con maven y java-9 . He agregado en mi archivo 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>

Pero aún así, para ejecutar la aplicación, debo ejecutarla así:

java -jar --add-modules java.xml.bind my-app.jar

¿Hay alguna manera de compilar la aplicación, para ejecutarla desde la línea de comandos sin --add-modules java.xml.bind a los argumentos de la línea de comandos java?