¿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" />