saber resto residuo operacion obtener ejemplo como cociente spring spring-boot gradle java-9 java-module

spring - residuo - operacion resto en java



El módulo java 9 lee el paquete X de A y B (2)

Estoy tratando de usar la bota de primavera con java 9 y gradle. No puedo ejecutar mi código simple, me aparece el siguiente error:

Information:java: Errors occurred while compiling module ''Java9Gradle_main'' Information:javac 9-ea was used to compile java sources Information:6/9/2017 10:40 PM - Compilation completed with 65 errors and 0 warnings in 15s 200ms Error:java: module reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module spring.boot.starter.web reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module spring.boot.starter.web reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module spring.boot.autoconfigure reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module spring.boot.autoconfigure reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module spring.boot.starter.logging reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module spring.boot.starter.logging reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module spring.core reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module spring.core reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module snakeyaml reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module snakeyaml reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module spring.boot.starter.tomcat reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module spring.boot.starter.tomcat reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module hibernate.validator reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module hibernate.validator reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module jackson.databind reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module jackson.databind reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module spring.web reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module spring.web reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module spring.webmvc reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module spring.webmvc reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module spring.context reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module spring.context reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module logback.classic reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module logback.classic reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module jcl.over.slf4j reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module jcl.over.slf4j reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module jul.to.slf4j reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module jul.to.slf4j reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module log4j.over.slf4j reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module log4j.over.slf4j reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module commons.logging reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module commons.logging reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module tomcat.embed.core reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module tomcat.embed.core reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module tomcat.embed.el reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module tomcat.embed.el reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module tomcat.embed.websocket reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module tomcat.embed.websocket reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module validation.api reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module validation.api reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module jboss.logging reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module jboss.logging reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module classmate reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module classmate reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module jackson.annotations reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module jackson.annotations reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module jackson.core reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module jackson.core reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module spring.aop reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module spring.aop reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module spring.beans reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module spring.beans reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module spring.expression reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module spring.expression reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module logback.core reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module logback.core reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module slf4j.api reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module slf4j.api reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module spring.boot.starter reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module spring.boot.starter reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging Error:java: module spring.boot reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging Error:java: module spring.boot reads package org.apache.commons.logging.impl from both jcl.over.slf4j and commons.logging D:/project/Java9Gradle/src/main/java/module-info.java Error:(1, 1) java: module Java9Gradle.main reads package org.apache.commons.logging from both jcl.over.slf4j and commons.logging

Mi archivo de dependencias y el archivo module-info.java son muy sencillos.

module Java9Gradle.main { requires spring.boot; } group ''Java9Gradle'' version ''1.0-SNAPSHOT'' apply plugin: ''java'' sourceCompatibility = 1.9 repositories { mavenCentral() } dependencies { // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter compile group: ''org.springframework.boot'', name: ''spring-boot-starter'', version: ''1.5.3.RELEASE'' // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web compile group: ''org.springframework.boot'', name: ''spring-boot-starter-web'', version: ''1.5.3.RELEASE'' testCompile group: ''junit'', name: ''junit'', version: ''4.12'' }

¿¿Puede ayudarme alguien, por favor??

Gracias,

Amar


¡Excluir la dependencia transitiva hizo que funcionara y ajustó module-info.java también!

compile("org.springframework.boot:spring-boot-starter:1.5.3.RELEASE") { exclude group: ''commons-logging'', module: ''commons-logging'' } compile("org.springframework.boot:spring-boot-starter-web:1.5.3.RELEASE"){ exclude group: ''commons-logging'', module: ''commons-logging'' }


De acuerdo con las especificaciones de Jigsaw

No interferencia: el compilador de Java, la máquina virtual y el sistema de tiempo de ejecución deben garantizar que los módulos que contienen paquetes del mismo nombre no interfieran entre sí. Si dos módulos distintos contienen paquetes del mismo nombre, entonces, desde la perspectiva de cada módulo, todos los tipos y miembros de ese paquete están definidos solo por ese módulo. El código en ese paquete en un módulo no debe poder acceder a los tipos o miembros del paquete privado en ese paquete en el otro módulo.

Esto se conoce como paquetes divididos en la respuesta de @Andy aquí . La solución es, por lo tanto, desvincular estos paquetes y asegurarse de que los paquetes que se incluyen desde los módulos jcl.over.slf4j y commons.logging se commons.logging a través de un solo módulo.

Puede analizar ambas dependencias spring-boot-starter:1.5.3.RELEASE y spring-boot-starter-web:1.5.3.RELEASE para asegurarse de que cualquiera de los dos módulos esté incluido en su proyecto.