【问题标题】:Maven Jetty spamming "scanned from multiple location"Maven Jetty 垃圾邮件“从多个位置扫描”
【发布时间】:2020-06-25 20:04:53
【问题描述】:

所以,我是使用 Maven 和 Jetty 的新手,我的第一个项目是发送数百条警告,例如

[WARNING] com.google.inject.util.Providers scanned from multiple locations:
jar:file:///C:/Users/pedro/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar!/com/google/inject/util/Providers.class,
jar:file:///C:/Users/pedro/.m2/repository/com/google/inject/guice/4.2.1/guice-4.2.1-no_aop.jar!/com/google/inject/util/Providers.class

我在网上找到了一些答案,说这是因为存在重复的依赖项,我必须在pom.xml.classpath 上修复它,但我没有重复的依赖项,不知道如何修复.classpath

有人知道我该如何解决吗?

【问题讨论】:

    标签: java maven dependencies jetty warnings


    【解决方案1】:

    这是一个合理的警告。

    字节码/注解扫描发现你有多个位置为类com.google.inject.util.Providers

    您有来自 2 个不同位置的 2 个不同版本的 guice。

    在这种情况下,类加载器有时会使用sisu-guice-2.1.7-noaop.jar,有时会为该类使用guice-4.2.1-no_aop.jar

    您的运行时间不可预测。

    每次运行应用程序时都会出现不同的行为。

    鉴于这些来自您的 maven 基础架构,我建议您运行一个重复的类查找器 maven 插件来清理您的依赖关系树。

    查看其他关于 Find duplicated classes in classpath

    【讨论】:

      【解决方案2】:

      我解决了它消除了依赖

      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>9.4.30.v20200611</version>
      </dependency>
      

      只保留插件

      <plugin>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>9.4.30.v20200611</version>
      </plugin>
      

      【讨论】:

        猜你喜欢
        • 2019-02-23
        • 1970-01-01
        • 2010-11-13
        • 1970-01-01
        • 2023-01-07
        • 2014-12-21
        • 1970-01-01
        • 2014-12-04
        • 2019-07-17
        相关资源
        最近更新 更多