【问题标题】:Maven plugin classloadingMaven 插件类加载
【发布时间】:2010-12-14 19:31:57
【问题描述】:

谁能解释一下Core Classloader 在使用surefire 测试插件时如何加载资源?

我特别需要知道的是项目源和来自目标/类 + 目标/测试类和项目依赖项的资源的加载顺序。

例如,如果我有一个既存在于项目中又存在于依赖项中的资源。先加载哪个?

谢谢

【问题讨论】:

    标签: maven-2 classloader


    【解决方案1】:

    原来答案很简单。

    首先,在调试模式下可以看到插件类路径,$mvn test -X

    第一个条目是target/test-classes,然后是target/classes,然后是插件和所有项目依赖项。

    【讨论】:

      【解决方案2】:

      仅供参考:例如,jetty-plugin 使用自己的依赖项和类加载器来配置 Jetty。例如,在我的情况下,我想覆盖 HashSessionMAnager(因为 http://apache-wicket.1842946.n4.nabble.com/Session-optimization-td3321009.html)。运行 mvn jetty:run 不断推入标准 HashSessionMAnager。

      要覆盖 jetty-plugin 的依赖项,我必须从我的小被覆盖的 HashSessionMAnager 中制作一个 jar 并放置一个依赖项块

      <dependencies>
          <dependency>
                ...
          </dependency>
      <dependencies>
      

      在 jetty-plugin 块内。我想这在正常情况下是有道理的,当插件没有任何东西注入到真正的应用程序时,但可能会给你带来奇怪的惊喜。

      【讨论】:

        猜你喜欢
        • 2013-07-12
        • 1970-01-01
        • 1970-01-01
        • 2021-08-10
        • 2023-03-30
        • 1970-01-01
        • 2012-06-13
        • 2011-01-05
        • 2022-11-11
        相关资源
        最近更新 更多