谁能解释一下Core Classloader是如何加载资源的,例如,当使用surefire测试插件时?
我特别需要知道的是来自目标/类+目标/测试类和项目依赖项的项目源代码和资源的加载顺序。
例如,如果我有一个既存在于项目中又存在于依赖项中的资源。哪个是先加载的?
谢谢
发布于 2010-12-15 04:15:51
事实证明,答案非常简单。
首先,我们可以在调试模式$mvn -X中看到插件类路径
第一个条目是target/test-classes,然后是target/classes,然后是插件和所有项目依赖项。
发布于 2011-02-26 03:37:38
仅供参考:例如,jetty-plugin使用自己的依赖项和类加载器来配置Jetty。例如,在我的例子中,我想覆盖HashSessionMAnager (因为http://apache-wicket.1842946.n4.nabble.com/Session-optimization-td3321009.html)。Running mvn jetty:run在标准HashSessionMAnager中不断推送。
要覆盖jetty-plugin的依赖项,我必须用被覆盖的小HashSessionMAnager创建一个jar,并放置一个依赖项块
<dependencies>
<dependency>
...
</dependency>
<dependencies>在jetty-plugin块中。我猜这通常是有意义的,当没有任何东西从插件注入到真正的应用程序中时,但可能会给你带来一些新奇的惊喜。
https://stackoverflow.com/questions/4443345
复制相似问题