Maven省略了与旧版本的jar冲突



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

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

(该项目本身不是 GWT,但它是 GWT 项目的依赖项,因此其中的所有内容都需要与 GWT 兼容。

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

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

但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>

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

我能够在我的项目中使用Guava r11。我提供了分步说明,我希望它们对 r12 同样有效,在这里:

  • https://stackoverflow.com/a/10004959/1093087

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

  • 庞.xml
我会

说指定您打算使用的版本并排除可能导致麻烦的传递依赖项更安全。

如果您需要这方面的进一步支持,可以运行

MVN 依赖项:树

在添加排除项之前或之后,并在此处发布结果

最新更新