我阅读了一些关于maven-shade-plugin
的createreduceddependencypom
的源代码:
我知道它将创建一个pom,去掉阴影区的依赖项,这样阴影区jar上的下游依赖项就不会再处理那些可以从阴影区jar访问的依赖项。
但是,我不明白在什么情况下会将默认值(true)更改为false。
谁能提供一个这样做有用的例子吗?
虽然将createDependencyReducedPOM
设置为true
在使用shaded工件(jar)作为其他项目的依赖项时非常有用,但我最近遇到了一个问题,即与多个线程并行运行我的多模块maven构建会导致maven-shade-plugin
进入无限循环并永远阻塞构建。
禁用dependency-reduced-pom
文件的创建对我来说是解决这个问题的方法。
您不想创建dependency-reduced-pom
的另一个原因是,正在构建的带阴影的jar是一个应用程序,而不是要在其他地方重新使用的库。
Maven shade plugin 为 Maven 提供了 Jar 打包的神器,包括将所依赖的 jar 包都打包到一起。
PHP手册说,如果锁定成功,调用flock将返回TRUE,否则返回FALSE。若文件被其他进程阻塞,那个么flock应该等到它被解锁(因为我们不使用LOCK_NB)。文档中没有超时,超时会中断等待,所以显然flock将无限等待,直到获得锁为止。 但是有时我在我的多线程脚本中从flock()得到FALSE。那是什么原因呢?
我正在使用maven-shade-plugin在构建的包阶段重新定位一些包。我还使用maven-bundle-plugin生成一个清单。问题是bundle插件在shade插件之前运行(在过程类阶段),并且在生成的清单的导出中没有包含任何我的shade包。 -- 根据要求,我的POM的阴影和捆绑部分: 从这里取的
问题内容: 我发现有人的pom.xml中使用了maven-shade-plugin。我以前从未使用过maven-shade-plugin(并且我是Maven n00b),所以我试图了解使用它的原因及其作用。 我看了看Maven文档,但是我听不懂这句话: “此插件提供了将工件打包在uber-jar中的功能,包括其依赖项,并可以遮蔽(即重命名)某些依赖项的包。” 该页面上的文档似乎不太适合新手。 什么
我有一个项目,它使用maven-assembly-plugin打包了几个(可执行的jar)程序集--基本上相同的代码,但针对不同的客户机使用了不同的数据集。 我需要在可执行jar中使用spring,由于spring中的文件命名,我需要使用maven-shade-plugin创建jar。这工作很好,我可以创建可执行的jar,但我不能确定如何将我的其他文件组装到这个新的shaded jar,因为sha