java jvm java-9 javax.activation

¿Cuál es el reemplazo del paquete javax.activation en java 9?



jvm java-9 (3)

Parece que el paquete javax.activation está en desuso en Java 9. La guía de migración de Oracle propone usar la --add-modules java.activation durante el inicio de JVM.

Sin embargo, me gustaría evitar esto y reemplazar las clases del paquete javax.activation , ya que está en desuso y se eliminará en futuras versiones de Java. Supongo que debería haber algún tipo de alternativa para javax.activation . Si hay alguno disponible, ¿qué es?


Como se escribió anteriormente, las versiones de Java> 8 no proporcionan javax.activation. Conocí esta excepción cuando trabajaba en un proyecto de camellos. Acabo de agregar la siguiente dependencia:

<!-- https://mvnrepository.com/artifact/javax.activation/activation --> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1.1</version> </dependency>


JavaBeans Activiation Framework es una tecnología independiente con su propio JSR de mantenimiento en el JCP y su propia descarga. Sí, Java SE 9 lo ha desaprobado y propone eliminarlo en una versión futura junto con los módulos compartidos con Java EE, pero esto no afecta la versión independiente. La versión independiente seguirá viva. Si está utilizando Maven, esto debería funcionar:

<dependency> <groupId>com.sun.activation</groupId> <artifactId>javax.activation</artifactId> <version>1.2.0</version> </dependency>

y si está desarrollando un módulo, entonces puede requires java.activation .


JavaBeans Activation Framework (JAF) es posiblemente la alternativa que está buscando al paquete existente.

Esta versión independiente de JAF utiliza un nombre de módulo automático de Java Platform Module System de java.activation , para que coincida con el nombre de módulo utilizado en JDK 9. Una versión futura incluirá metadatos de módulo completo.

Las API independientes solo se admiten en forma modular, a través del concepto de módulos actualizables . Al usarlos, es posible usar una versión de ese módulo de una versión posterior en cualquier fase, es decir, en tiempo de compilación, tiempo de compilación o tiempo de ejecución.

La versión actualmente disponible para esto es 1.2.0 que se puede usar así:

Maven

<dependency> <groupId>com.sun.activation</groupId> <artifactId>javax.activation</artifactId> <version>1.2.0</version> </dependency>

Gradle

compile ''com.sun.activation:javax.activation:1.2.0''

Hiedra

<dependency org="com.sun.activation" name="javax.activation" rev="1.2.0" />