2017-06-09 11 views
7

Bahar önyüklemesini java 9 ve gradle ile kullanmaya çalışıyorum. Benim basit kod çalıştırmasına alamıyorum , aşağıda belirtilen hatayı alıyorum: -java 9 modülü, X paketini A ve B'den okur

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 

Benim bağımlılıkları dosya ve module-info.java dosyası çok yalındır vardır.

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' 
} 

Birisi yardım edebilir mi?

sayesinde

Amar

cevap

4

geçişli bağımlılık çalışması yapılmış hariç ve çok module-info.java ayarlayarak !!!

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' 
    } 
+1

module-info.java dosyasında hangi ayarlamalar gerekiyordu? – JMess

4
Jigsaw specs

Olmayan girişime göre

- Java derleyicisi, sanal makine ve koşmak zamanlı sistemi aynı adı paketlerini ihtiva modülleri karışmaz sağlamalıdır herbiri. İki farklı modül aynı ada sahip paketlerini içeriyorsa, her modülün perspektifinden bu paketteki tüm tipler ve üyeler sadece modülü tarafından tanımlanır. Bu paketteki bir modülde bulunan kod, diğer modülde paketine özel türlere veya bu paketteki üyelere erişememelidir.

Bu

@Andy here tarafından cevap olarak bölünmüş paketleri anılır. Bu çözüm, bu paketleri açmak ve jcl.over.slf4j ve commons.logging modüllerinden gelen paketlerin sadece bir modül üzerinden erişildiğinden emin olmaktır.


Her iki bağımlılıkları spring-boot-starter:1.5.3.RELEASE ve spring-boot-starter-web:1.5.3.RELEASE iki modülden ya da projeye dahil olduğundan emin olmak için analiz edebilirsiniz.

İlgili konular