Le package javax.activation
est obsolète dans Java. 9. Le guide de migration Oracle propose d'utiliser l'option --add-modules Java.activation
lors du démarrage de la machine virtuelle.
Cependant, j'aimerais éviter cela et remplacer les classes du package javax.activation
, car il est obsolète et sera supprimé dans les futures versions Java. Je suppose qu'il devrait exister une sorte d'alternative à javax.activation
. De quoi s'agit-il?
JavaBeans Activation Framework (JAF) est peut-être l'alternative que vous recherchez pour le package existant.
Cette version autonome de JAF utilise un système de module de plate-forme Java (---) de
Java.activation
, pour correspondre au nom du module utilisé dans JDK 9. Une future version inclura des métadonnées de module complètes. .
Les API autonomes sont prises en charge sous forme modulaire uniquement, via le concept de modules pouvant être mis à nivea. En les utilisant, il est possible d’utiliser une version de ce module d’une version ultérieure dans n’importe quelle phase, c’est-à-dire au moment de la compilation, de la compilation ou de l’exécution.
La version actuelle version disponible pour cela est _1.2.0
_ qui peut être utilisé comme ceci:
Maven
_<dependency>
<groupId>com.Sun.activation</groupId>
<artifactId>javax.activation</artifactId>
<version>1.2.0</version>
</dependency>
_
Gradule
_compile 'com.Sun.activation:javax.activation:1.2.0'
_
Ivy
_<dependency org="com.Sun.activation" name="javax.activation" rev="1.2.0" />
_
JavaBeans Activiation Framework est une technologie autonome avec son propre fichier de maintenance JSR dans le JCP et son propre téléchargement. Oui, Java SE 9 est obsolète et propose de supprimer, dans une version à venir, les modules partagés avec Java EE, mais cela n’a aucune incidence sur la version autonome. La version autonome continuera à vivre. Si vous utilisez Maven, cela devrait fonctionner:
<dependency>
<groupId>com.Sun.activation</groupId>
<artifactId>javax.activation</artifactId>
<version>1.2.0</version>
</dependency>
et si vous développez un module, vous pouvez alors requires Java.activation
.
Comme indiqué ci-dessus, Java versions> 8 ne fournissent pas javax.activation. J'ai rencontré cette exception lorsque je travaillais sur le projet Camel. Je viens d'ajouter la dépendance suivante:
<!-- https://mvnrepository.com/artifact/javax.activation/activation -->
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>