我有一个多模块 maven 项目,我们在其中遮蔽 Google 的 Guava 以将包重新定位到我们的包树中,这样我们就不必担心版本冲突。我知道这是一种相当普遍的做法。
构建 jar 就像构建系统一样工作正常。但是,在 Maven 中执行 site:site 目标时,它会调用 compiler:testCompile ,此时找不到重定位的类。让我指出,早期的 testCompile 工作得很好。
我怀疑这是因为 maven 着色项目是失败的项目的对等项目,并且在第二次 testCompile 执行期间,它找到了着色项目,查找并找不到要编译的类,因此死亡。在目标目录中有一个正确命名的阴影 jar,它确实包含正在查找的类。
我想我想知道的是:是否有一种机制告诉 maven 在子模块中查找 jar(源从未存在于那里)并跳过编译的类?我想作为最后的手段,我可以将刚刚构建的 jar 的内容提取到 target/classes 目录中,以便可以找到它们。
任何援助将不胜感激。