Используется исключение Maven, но все еще загружается зависимость

#java #maven

#java #maven

Вопрос:

Я хочу com.google.common.collect.ImmutableList предотвратить загрузку Gephi-toolkit . Я знаю, что Gephi-toolkit это загружает его, используя -verbose опцию, которая выводит следующее:

  [Loaded com.google.common.collect.ImmutableList from file:/home/noor/.m2/repository/org/gephi/gephi-toolkit/0.8.2/gephi-toolkit-0.8.2.jar]
  

Я знаю, что com.google.common.collect.ImmutableList это определено в артефакте Guava. Я добавляю следующее исключение в Gephi-toolkit, но оно все еще загружает его, потому что я все еще получаю следующую строку:

    [Loaded com.google.common.collect.ImmutableList from file:/home/noor/.m2/repository/org/gephi/gephi-toolkit/0.8.2/gephi-toolkit-0.8.2.jar]
  

я добавил исключение в maven, как показано ниже:

     <dependency>
          <groupId>org.gephi</groupId>
          <artifactId>gephi-toolkit</artifactId>
          <version>0.8.2</version>
          <exclusions>
            <exclusion>
              <groupId>com.google</groupId>
              <artifactId>guava</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
<dependency>
      <groupId>net.sourceforge.owlapi</groupId>
      <artifactId>owlapi-distribution</artifactId>
      <version>4.1.3</version>
      <exclusions>
        <exclusion>
          <groupId>com.google</groupId>
          <artifactId>guava</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  

Как я могу это предотвратить?

Вывод mvn dependency:tree -Dverbose :

 [INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------------< aml:aml >-------------------------------
[INFO] Building AgreementMakerLight 2.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ aml ---
[INFO] aml:aml:jar:2.1-SNAPSHOT
[INFO]  - commons-lang:commons-lang:jar:2.6:compile
[INFO]  - dom4j:dom4j:jar:1.6.1:compile
[INFO] |  - xml-apis:xml-apis:jar:1.0.b2:compile
[INFO]  - org.gephi:gephi-toolkit:jar:0.8.2:compile
[INFO]  - com.github.jaytaylor:jaws:jar:1.3.1:compile
[INFO]  - log4j:log4j:jar:1.2.17:compile
[INFO]  - com.github.firemaples:microsoft-translator-java-api:jar:0.8.7:compile
[INFO] |   - com.googlecode.json-simple:json-simple:jar:1.1:compile
[INFO] |  - com.google.code.gson:gson:jar:2.8.5:compile
[INFO]  - net.sourceforge.owlapi:owlapi-distribution:jar:4.1.3:compile
[INFO] |   - com.fasterxml.jackson.core:jackson-core:jar:2.5.1:compile
[INFO] |   - com.fasterxml.jackson.core:jackson-databind:jar:2.5.1:compile
[INFO] |  |   - (com.fasterxml.jackson.core:jackson-annotations:jar:2.5.0:compile - omitted for conflict with 2.5.1)
[INFO] |  |  - (com.fasterxml.jackson.core:jackson-core:jar:2.5.1:compile - omitted for duplicate)
[INFO] |   - com.fasterxml.jackson.core:jackson-annotations:jar:2.5.1:compile
[INFO] |   - org.tukaani:xz:jar:1.5:compile
[INFO] |   - org.openrdf.sesame:sesame-model:jar:2.7.12:compile
[INFO] |  |  - org.openrdf.sesame:sesame-util:jar:2.7.12:compile
[INFO] |  |     - (org.slf4j:slf4j-api:jar:1.6.1:compile - omitted for conflict with 1.7.10)
[INFO] |   - org.openrdf.sesame:sesame-rio-api:jar:2.7.12:compile
[INFO] |  |   - (org.openrdf.sesame:sesame-model:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |  - (org.openrdf.sesame:sesame-util:jar:2.7.12:compile - omitted for duplicate)
[INFO] |   - org.openrdf.sesame:sesame-rio-languages:jar:2.7.12:compile
[INFO] |  |   - (org.openrdf.sesame:sesame-model:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-api:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |  - (org.openrdf.sesame:sesame-util:jar:2.7.12:compile - omitted for duplicate)
[INFO] |   - org.openrdf.sesame:sesame-rio-datatypes:jar:2.7.12:compile
[INFO] |  |   - (org.openrdf.sesame:sesame-model:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-api:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |  - (org.openrdf.sesame:sesame-util:jar:2.7.12:compile - omitted for duplicate)
[INFO] |   - org.openrdf.sesame:sesame-rio-binary:jar:2.7.12:compile
[INFO] |  |   - (org.openrdf.sesame:sesame-model:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-api:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |  - (org.openrdf.sesame:sesame-util:jar:2.7.12:compile - omitted for duplicate)
[INFO] |   - org.openrdf.sesame:sesame-rio-n3:jar:2.7.12:compile
[INFO] |  |   - (org.openrdf.sesame:sesame-model:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-api:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-turtle:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-datatypes:jar:2.7.12:runtime - omitted for duplicate)
[INFO] |  |  - (org.openrdf.sesame:sesame-rio-languages:jar:2.7.12:runtime - omitted for duplicate)
[INFO] |   - org.openrdf.sesame:sesame-rio-nquads:jar:2.7.12:compile
[INFO] |  |   - (org.openrdf.sesame:sesame-model:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-api:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-ntriples:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-datatypes:jar:2.7.12:runtime - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-languages:jar:2.7.12:runtime - omitted for duplicate)
[INFO] |  |  - (commons-io:commons-io:jar:2.4:compile - omitted for duplicate)
[INFO] |   - org.openrdf.sesame:sesame-rio-ntriples:jar:2.7.12:compile
[INFO] |  |   - (org.openrdf.sesame:sesame-model:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-api:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-datatypes:jar:2.7.12:runtime - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-languages:jar:2.7.12:runtime - omitted for duplicate)
[INFO] |  |  - (commons-io:commons-io:jar:2.4:compile - omitted for duplicate)
[INFO] |   - org.openrdf.sesame:sesame-rio-rdfjson:jar:2.7.12:compile
[INFO] |  |   - (org.openrdf.sesame:sesame-model:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-api:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-datatypes:jar:2.7.12:runtime - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-languages:jar:2.7.12:runtime - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-util:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (com.fasterxml.jackson.core:jackson-core:jar:2.2.1:compile - omitted for conflict with 2.5.1)
[INFO] |  |  - (commons-io:commons-io:jar:2.4:compile - omitted for duplicate)
[INFO] |   - org.openrdf.sesame:sesame-rio-rdfxml:jar:2.7.12:compile
[INFO] |  |   - (org.openrdf.sesame:sesame-model:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-api:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-datatypes:jar:2.7.12:runtime - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-languages:jar:2.7.12:runtime - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-util:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |  - (commons-io:commons-io:jar:2.4:compile - omitted for duplicate)
[INFO] |   - org.openrdf.sesame:sesame-rio-trix:jar:2.7.12:compile
[INFO] |  |   - (org.openrdf.sesame:sesame-model:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-api:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-datatypes:jar:2.7.12:runtime - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-languages:jar:2.7.12:runtime - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-util:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |  - (commons-io:commons-io:jar:2.4:compile - omitted for duplicate)
[INFO] |   - org.openrdf.sesame:sesame-rio-turtle:jar:2.7.12:compile
[INFO] |  |   - (org.openrdf.sesame:sesame-model:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-api:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-datatypes:jar:2.7.12:runtime - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-languages:jar:2.7.12:runtime - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-util:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |  - (commons-io:commons-io:jar:2.4:compile - omitted for duplicate)
[INFO] |   - org.openrdf.sesame:sesame-rio-trig:jar:2.7.12:compile
[INFO] |  |   - (org.openrdf.sesame:sesame-model:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-api:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-turtle:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-datatypes:jar:2.7.12:runtime - omitted for duplicate)
[INFO] |  |   - (org.openrdf.sesame:sesame-rio-languages:jar:2.7.12:runtime - omitted for duplicate)
[INFO] |  |  - (org.openrdf.sesame:sesame-util:jar:2.7.12:compile - omitted for duplicate)
[INFO] |   - com.github.jsonld-java:jsonld-java-sesame:jar:0.5.0:compile
[INFO] |  |   - com.github.jsonld-java:jsonld-java:jar:0.5.0:compile
[INFO] |  |  |   - (com.fasterxml.jackson.core:jackson-core:jar:2.3.3:compile - omitted for conflict with 2.5.1)
[INFO] |  |  |   - (com.fasterxml.jackson.core:jackson-databind:jar:2.3.3:compile - omitted for conflict with 2.5.1)
[INFO] |  |  |   - (org.slf4j:slf4j-api:jar:1.7.7:compile - omitted for conflict with 1.6.1)
[INFO] |  |  |   - org.apache.httpcomponents:httpclient-cache:jar:4.2.5:compile
[INFO] |  |  |  |  - (org.apache.httpcomponents:httpclient:jar:4.2.5:compile - omitted for duplicate)
[INFO] |  |  |   - org.apache.httpcomponents:httpclient:jar:4.2.5:compile
[INFO] |  |  |  |   - org.apache.httpcomponents:httpcore:jar:4.2.4:compile
[INFO] |  |  |  |  - commons-codec:commons-codec:jar:1.6:compile
[INFO] |  |  |  - org.slf4j:jcl-over-slf4j:jar:1.7.7:runtime
[INFO] |  |  |     - (org.slf4j:slf4j-api:jar:1.7.7:runtime - omitted for conflict with 1.6.1)
[INFO] |  |   - (org.openrdf.sesame:sesame-model:jar:2.7.12:compile - omitted for duplicate)
[INFO] |  |  - (org.openrdf.sesame:sesame-rio-api:jar:2.7.12:compile - omitted for duplicate)
[INFO] |   - org.semarglproject:semargl-sesame:jar:0.6.1:compile
[INFO] |  |   - org.semarglproject:semargl-core:jar:0.6.1:compile
[INFO] |  |   - org.semarglproject:semargl-rdfa:jar:0.6.1:compile
[INFO] |  |  |   - (org.semarglproject:semargl-core:jar:0.6.1:compile - omitted for duplicate)
[INFO] |  |  |  - org.semarglproject:semargl-rdf:jar:0.6.1:compile
[INFO] |  |  |     - (org.semarglproject:semargl-core:jar:0.6.1:compile - omitted for duplicate)
[INFO] |  |  - (org.openrdf.sesame:sesame-rio-api:jar:2.7.5:compile - omitted for conflict with 2.7.12)
[INFO] |   - net.sf.trove4j:trove4j:jar:3.0.3:compile
[INFO] |   - com.google.guava:guava:jar:18.0:compile
[INFO] |   - com.google.inject:guice:jar:4.0:compile
[INFO] |  |   - javax.inject:javax.inject:jar:1:compile
[INFO] |  |   - aopalliance:aopalliance:jar:1.0:compile
[INFO] |  |  - (com.google.guava:guava:jar:16.0.1:compile - omitted for conflict with 18.0)
[INFO] |   - com.google.inject.extensions:guice-assistedinject:jar:4.0:compile
[INFO] |  |  - (com.google.inject:guice:jar:4.0:compile - omitted for duplicate)
[INFO] |   - com.google.inject.extensions:guice-multibindings:jar:4.0:compile
[INFO] |  |  - (com.google.inject:guice:jar:4.0:compile - omitted for duplicate)
[INFO] |   - com.google.code.findbugs:jsr305:jar:2.0.1:compile
[INFO] |   - org.slf4j:slf4j-api:jar:1.7.10:compile
[INFO] |  - commons-io:commons-io:jar:2.4:compile
[INFO]  - uk.ac.shef.wit:simmetrics:jar:1.6.2:compile
[INFO] - org.swinglabs.swingx:swingx-all:jar:1.6.4:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.661 s
[INFO] Finished at: 2019-04-12T21:13:16 02:00
[INFO] ------------------------------------------------------------------------
  

Комментарии:

1. как вы указали исключение?

2. Возможно, этот jar повторно упаковал классы guava. И это делает этот случай сложным…

3. @jediz, я изменил свой вопрос, чтобы добавить exclusion часть

Ответ №1:

В соответствии с выводом из mvn dependency:tree -Dverbose библиотеки guava загружается как часть net.sourceforge.owlapi:owlapi-distribution:jar:4.1.3 зависимости.

Выполните следующее исключение:

 <dependency>
    <groupId>net.sourceforge.owlapi</groupId>
    <artifactId>owlapi-osgidistribution</artifactId>
    <version>4.1.3</version>
    <exclusions>
        <exclusion>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
        </exclusion>
    </exclusions>
</dependency>
  

Если это не поможет, попробуйте либо повторно импортировать все зависимости, либо очистить .m2 папку.

Комментарии:

1. Я также сделал это исключение, я забыл упомянуть об этом в вопросе, но все тот же результат