我有一个父项目多模块Maven项目P和三个子模块A
,B
和C
。这两个B
和C
是战项目,都依赖于A。
我可以输入mvn compile
在P
和拥有所有的子模块正确的编译的。当我要对特定模块进行操作时,问题就来了。
我希望能够为项目打包战争B
,但是当我从B
的目录运行package
命令时,它抱怨找不到的依赖项A
。
我从这个问题中了解到:Maven和相关模块,也许Maven并不是真正为这种类型的依赖关系解决而设计的,但这引出了我该如何打包的问题B
?
mvn package
当我真的想要时,是否必须为整个项目层次结构运行B?
每次打包时都必须将A的快照安装到本地存储库中B
吗?
当A
仍在积极开发中时,第二种情况就不好玩了。
这里有最佳做法吗?
使用Maven 高级反应堆选项,更具体地说:
-pl, --projects
Build specified reactor projects instead of all projects
-am, --also-make
If project list is specified, also build projects required by the list
因此,只需cd
进入父P目录并运行:
mvn install -pl B -am
这将构建B和B所需的模块。
请注意,如果引用artifactId
的目录名称与目录名称不同,则需要使用冒号:
mvn install -pl :B -am
模块标记 coolie-cli 的模块构建方式应该是比较特殊的一类,与 webpack 一样,都是另辟蹊径。 webpack:依赖模块放到数组里,数组索引值就是模块 ID。 coolie-cli:依赖模块全局标记 ID(三十六进制)。 coolie-cli 可以将长长的物理路径压缩成最短的字符,达到压缩率最大化,而不是将模块直接合并。 // module1.js define(function(r
但我在模块2中添加了依赖项。模块2是最后一个项目。 项目结构如下。 父项目的pom.xml
公共模块 在介绍分块模块之前,来说些公共模块。 当一个项目逐渐壮大的时候,势必会出现一些公共模块。 如何分配和处理这些公共模块,需要全局考虑,是一个不小的利弊权衡。 如工程里共有 20 个入口模块, 5 个入口模块引用了同一个模块 a, 10 个入口模块引用了同一个模块 b, 15 个入口模块引用了同一个模块 c, 20 个入口模块引用了同一个模块 d。 如何分配这 4 个公共模块呢? 全部打包在
问题内容: 我在Jenkins中建立了一个大型Maven多模块构建。它是为增量构建而设置的。 触发后,它将解析所有POM并弄清楚需要构建什么。 当前已将其设置为触发SCM更改。 我想进行此构建,以便可以执行以下操作: 仍然手动启动它。当我这样做时,它的增量构建行为将像今天一样起作用。 从Subversion提交钩子触发构建 。我想知道,如果我通过出色的指令来设置提交挂钩的麻烦,那将不会导致构建过程
我有一个多模块梯度构建。我想使用root为一个模块执行目标。例如:
异步模块 异步模块与同步模块相反,指的是模块是在运行时才去异步加载然后再运行。 setTimeout(function(){ // 异步模块`async.js`在 1000ms 后加载,然后再运行 require.async('async.js', function(exports){ // 模块加载完成后,返回模块的导出 // exports