Java Maven忽略了与旧版本的jar冲突

Java Maven忽略了与旧版本的jar冲突,java,maven,guava,playn,Java,Maven,Guava,Playn,我是马文的新手。我的gwt兼容项目使用,它依赖于Google Guava r09: <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>r09</version> </dependency> 番石榴 番石榴 r09 (项目本身不是GWT,但它是GWT项目的一个

我是马文的新手。我的gwt兼容项目使用,它依赖于Google Guava r09:

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>r09</version>
</dependency>

番石榴
番石榴
r09
(项目本身不是GWT,但它是GWT项目的一个依赖项,因此项目中的所有内容都需要与GWT兼容。)

我想使用与gwt兼容的r12版本。最好的方法是什么?我尝试将r12添加到我自己的pom中:

    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava-gwt</artifactId>
        <version>12.0</version>
    </dependency>

番石榴
番石榴
12
但Eclipse报告说r12“由于与r09冲突而被忽略”。我尝试从PlayN中排除r09,但没有成功:

<dependency>
            <groupId>com.googlecode.playn</groupId>
            <artifactId>playn-java</artifactId>
            <version>1.1.1</version>
            <exclusions>
                <exclusion>
                    <artifactId>guava</artifactId>
                    <groupId>com.google.guava</groupId>
                </exclusion>
            </exclusions>
        </dependency>

com.googlecode.playn
playn java
1.1.1
番石榴
番石榴

在我的项目中使用r12的最佳方式是什么?

我可以在我的项目中使用番石榴r11。我提供了一步一步的说明,我希望它们对r12同样有效,如下所示:

我试图尽可能少地了解Maven的机制,但我在pom文件中没有看到任何排除。您可以在此处找到该文件的完整副本:


我想说,更安全的做法是指定要使用的版本,并排除可能导致麻烦的可传递依赖项

如果您希望在这方面获得更多支持,可以运行

mvn依赖关系:树

在添加排除之前或之后, 然后把结果贴在这里