AspectJ Weaver & java module system (spring + gradle), problème avec la compilation


J'utilise le ressort 5, Java 10 et Gradle 4.8

Je suis confronté au problème suivant:

java.lang.ClassNotFoundException: org.aspectj.util.PartialOrder$PartialComparable

J'ai lu sur le débordement de pile pour ajouter:

compile group: 'org.aspectj', name: 'aspectjweaver', version: '1.9.1'

Cependant, lorsque je fais cela, j'obtiens 100 erreurs comme:

error: module java.persistence reads package org.aspectj.internal.lang.reflect from both aspectjrt and org.aspectj.weaver

Comment résoudre le problème?

Dépendances:

compile group: 'javax.validation', name: 'validation-api', version: '2.0.1.Final'
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.5'
compile group: 'org.springframework', name: 'spring-core', version: '5.0.7.RELEASE'
compile group: 'org.springframework', name: 'spring-context', version: '5.0.7.RELEASE'
compile group: 'org.springframework', name: 'spring-context-support', version: '5.0.7.RELEASE'
compile group: 'org.postgresql', name: 'postgresql', version: '42.2.1'
compile group: 'org.springframework.data', name: 'spring-data-jpa', version: '2.0.8.RELEASE'
compile group: 'io.projectreactor', name: 'reactor-core', version: '3.1.8.RELEASE'
compile group: 'org.springframework.security', name: 'spring-security-core', version: '5.0.6.RELEASE'
compile group: 'org.springframework.security', name: 'spring-security-config', version: '5.0.6.RELEASE'

compile group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'
compile group: 'org.hibernate', name: 'hibernate-core', version: '5.3.1.Final'
compile group: 'org.hibernate', name: 'hibernate-hikaricp', version: '5.3.1.Final'
compile group: 'org.hibernate.validator', name: 'hibernate-validator', version: '6.0.10.Final'
compile group: 'org.glassfish', name: 'javax.el', version: '3.0.1-b08'
compile group: 'com.github.ben-manes.caffeine', name: 'caffeine', version: '2.6.2'

compile group: 'org.aspectj', name: 'aspectjrt', version: '1.9.1'
compile group: 'org.freemarker', name: 'freemarker', version: '2.3.28'
compile group: 'javax.mail', name: 'javax.mail-api', version: '1.6.2'
compile group: 'javax.activation', name: 'activation', version: '1.1.1'
Author: Mariusz.v7, 2018-09-09

1 answers

Le problème était que spring-data-jpa a une dépendance d'aspectjrt version 1.8.x qui (comme je suppose) n'est pas prêt pour la modularité java9. Je l'ai exclu des dépendances et inclus les versions appropriées d'aspectjrt et de weaver et cela fonctionne maintenant.

 0
Author: Mariusz.v7, 2018-09-16 16:35:13