2017-07-31 109 views
1

我正在尝试使用DropWizard为NLP库(Illinois NER tagger)创建REST api服务器。以下是我.pom文件的内容:Maven的依赖关系收敛错误

<repositories> 
    <repository> 
     <id>sonatype-nexus-snapshots</id> 
     <name>Sonatype Nexus Snapshots</name> 
     <url>http://oss.sonatype.org/content/repositories/snapshots</url> 
    </repository> 
    <repository> 
     <id>CogcompSoftware</id> 
     <name>CogcompSoftware</name> 
     <url>http://cogcomp.cs.illinois.edu/m2repo/</url> 
    </repository> 
</repositories> 

<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>io.dropwizard</groupId> 
      <artifactId>dropwizard-bom</artifactId> 
      <version>${project.version}</version> 
      <type>pom</type> 
      <scope>import</scope> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

<dependencies> 
    <dependency> 
     <groupId>edu.illinois.cs.cogcomp</groupId> 
     <artifactId>illinois-ner</artifactId> 
     <version>3.0.72</version> 
    </dependency> 
    <dependency> 
     <groupId>io.dropwizard</groupId> 
     <artifactId>dropwizard-core</artifactId> 
     <version>1.1.2</version> 
    </dependency> 
    <dependency> 
     <groupId>io.dropwizard</groupId> 
     <artifactId>dropwizard-http2</artifactId> 
     <version>1.1.2</version> 
    </dependency> 
    <dependency> 
     <groupId>io.dropwizard</groupId> 
     <artifactId>dropwizard-hibernate</artifactId> 
     <version>1.1.2</version> 
    </dependency> 
    <dependency> 
     <groupId>io.dropwizard</groupId> 
     <artifactId>dropwizard-metrics-graphite</artifactId> 
     <version>1.1.2</version> 
    </dependency> 
    <dependency> 
     <groupId>com.h2database</groupId> 
     <artifactId>h2</artifactId> 
     <version>1.4.196</version> 
    </dependency> 
</dependencies> 

在其上添加依赖标签相对应伊利诺伊州库的储存库标签我的代码与下面的错误上mvn package

[INFO] 
[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce) @ dropwizard-example --- 
[WARNING] 
Dependency convergence error for edu.illinois.cs.cogcomp:illinois-core-utilities:3.0.72 paths to dependency are: 
+-io.dropwizard:dropwizard-example:1.2.0-SNAPSHOT 
    +-edu.illinois.cs.cogcomp:illinois-ner:3.0.72 
    +-edu.illinois.cs.cogcomp:illinois-tokenizer:3.0.72 
     +-edu.illinois.cs.cogcomp:illinois-core-utilities:3.0.72 
and 
+-io.dropwizard:dropwizard-example:1.2.0-SNAPSHOT 
    +-edu.illinois.cs.cogcomp:illinois-ner:3.0.72 
    +-edu.illinois.cs.cogcomp:illinois-core-utilities:3.0.72 
and 
+-io.dropwizard:dropwizard-example:1.2.0-SNAPSHOT 
    +-edu.illinois.cs.cogcomp:illinois-ner:3.0.72 
    +-edu.illinois.cs.cogcomp:LBJava:1.2.24 
     +-edu.illinois.cs.cogcomp:illinois-inference:0.6.0 
     +-edu.illinois.cs.cogcomp:illinois-core-utilities:3.0.51 
and 
+-io.dropwizard:dropwizard-example:1.2.0-SNAPSHOT 
    +-edu.illinois.cs.cogcomp:illinois-ner:3.0.72 
    +-edu.illinois.cs.cogcomp:LBJava:1.2.24 
     +-edu.illinois.cs.cogcomp:illinois-inference:0.6.0 
     +-edu.illinois.cs.cogcomp:illinois-sl-core:1.0.2 
      +-edu.illinois.cs.cogcomp:illinois-core-utilities:3.0.22 
and 
+-io.dropwizard:dropwizard-example:1.2.0-SNAPSHOT 
    +-edu.illinois.cs.cogcomp:illinois-ner:3.0.72 
    +-edu.illinois.cs.cogcomp:LBJava-NLP-tools:1.0.1 
     +-edu.illinois.cs.cogcomp:illinois-core-utilities:1.2.11 

[WARNING] 
Dependency convergence error for edu.illinois.cs.cogcomp:LBJava:1.2.24 paths to dependency are: 
+-io.dropwizard:dropwizard-example:1.2.0-SNAPSHOT 
    +-edu.illinois.cs.cogcomp:illinois-ner:3.0.72 
    +-edu.illinois.cs.cogcomp:LBJava:1.2.24 
and 
+-io.dropwizard:dropwizard-example:1.2.0-SNAPSHOT 
    +-edu.illinois.cs.cogcomp:illinois-ner:3.0.72 
    +-edu.illinois.cs.cogcomp:LBJava-NLP-tools:1.0.1 
     +-edu.illinois.cs.cogcomp:LBJava:1.1.0 

[WARNING] Rule 0: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message: 
Failed while enforcing releasability the error(s) are [ 
Dependency convergence error for edu.illinois.cs.cogcomp:illinois-core-utilities:3.0.72 paths to dependency are: 
+-io.dropwizard:dropwizard-example:1.2.0-SNAPSHOT 
    +-edu.illinois.cs.cogcomp:illinois-ner:3.0.72 
    +-edu.illinois.cs.cogcomp:illinois-tokenizer:3.0.72 
     +-edu.illinois.cs.cogcomp:illinois-core-utilities:3.0.72 
and 
+-io.dropwizard:dropwizard-example:1.2.0-SNAPSHOT 
    +-edu.illinois.cs.cogcomp:illinois-ner:3.0.72 
    +-edu.illinois.cs.cogcomp:illinois-core-utilities:3.0.72 
and 
+-io.dropwizard:dropwizard-example:1.2.0-SNAPSHOT 
    +-edu.illinois.cs.cogcomp:illinois-ner:3.0.72 
    +-edu.illinois.cs.cogcomp:LBJava:1.2.24 
     +-edu.illinois.cs.cogcomp:illinois-inference:0.6.0 
     +-edu.illinois.cs.cogcomp:illinois-core-utilities:3.0.51 
and 
+-io.dropwizard:dropwizard-example:1.2.0-SNAPSHOT 
    +-edu.illinois.cs.cogcomp:illinois-ner:3.0.72 
    +-edu.illinois.cs.cogcomp:LBJava:1.2.24 
     +-edu.illinois.cs.cogcomp:illinois-inference:0.6.0 
     +-edu.illinois.cs.cogcomp:illinois-sl-core:1.0.2 
      +-edu.illinois.cs.cogcomp:illinois-core-utilities:3.0.22 
and 
+-io.dropwizard:dropwizard-example:1.2.0-SNAPSHOT 
    +-edu.illinois.cs.cogcomp:illinois-ner:3.0.72 
    +-edu.illinois.cs.cogcomp:LBJava-NLP-tools:1.0.1 
     +-edu.illinois.cs.cogcomp:illinois-core-utilities:1.2.11 
, 
Dependency convergence error for edu.illinois.cs.cogcomp:LBJava:1.2.24 paths to dependency are: 
+-io.dropwizard:dropwizard-example:1.2.0-SNAPSHOT 
    +-edu.illinois.cs.cogcomp:illinois-ner:3.0.72 
    +-edu.illinois.cs.cogcomp:LBJava:1.2.24 
and 
+-io.dropwizard:dropwizard-example:1.2.0-SNAPSHOT 
    +-edu.illinois.cs.cogcomp:illinois-ner:3.0.72 
    +-edu.illinois.cs.cogcomp:LBJava-NLP-tools:1.0.1 
     +-edu.illinois.cs.cogcomp:LBJava:1.1.0 
] 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 38.047 s 
[INFO] Finished at: 2017-07-31T16:36:33+05:30 
[INFO] Final Memory: 27M/1517M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce (enforce) on project dropwizard-example: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed. -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

崩溃请帮我解决这个错误。

+0

您需要查找您的父pom并检查您在dependencyManagement部分使用的库依赖关系。由于你的pom上很多库上没有版本标签。我建议你在你的项目中运行一个依赖树,你可能使用了依赖于对方的不同版本的库。 –

+0

我已经包含了我正在使用的库的版本号,但仍然收到相同的错误。我从来没有在maven中使用过parent和dependencyManagement标签,你可以通过代码展示它在这种情况下的使用方式吗? –

回答

1

要解决此错误,您需要管理dependencyManagement部分中冲突工件的版本。

例如:要解决这一问题的edu.illinois.cs.cogcomp:illinois-core-utilities您需要在您的dependencyManagement部分像

<dependency> 
    <groupId>edu.illinois.cs.cogcomp</groupId> 
    <artifactId>illinois-core-utilities</artifactId> 
    <version>3.0.72</version> 
</dependency> 

的条目。

+0

pom文件中已经有一个dependencyManagement tage。请看看我已经更新了这个问题。你的建议没有解决,你能提出其他建议吗? –

+0

你是什么意思:“没有工作”?您是否真的将所有相互矛盾的依赖项(edu.illinois.cs.cogcomp:illinois-core-utilities,edu.illinois.cs.cogcomp:LBJava,...)添加到您的dependencyManagement作为我向您展示的条目?然后请编辑问题并显示完整的pom和你得到的错误。 –

+0

非常感谢!你的解决方案工作 –