- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于据说系统范围已弃用且危险,我们使用本地存储库。存储库位于父文件夹中,并由大多数子模块使用。现在包括 repo 变得困惑。提供 URL 有点像 hack。
我们在子模块中尝试了 ${project.parent.basedir}/repo
,但这没有任何结果。我们也尝试在父pom中设置,...
<repository>
<id>project_repo</id>
<url>file://${project.basedir}/project_repo</url>
</repository>
但是 maven 决定将给定的 url 发送给子模块,子模块依次评估属性。这导致我们陷入了只获取相对父目录的困惑局面,迫使子模块成为父 pom 的子文件夹:
<url>file://${project.basedir}/../project_repo</url>
这是问题 Y .关于 X 的问题是,为什么 maven 在评估之前继承,我该如何避免这种情况?
最佳答案
forcing the submodules to be subfolders of the parent pom
不管其他面临的问题,这实际上是一般推荐的方法,将多模块/聚合项目(父级)和子模块作为子文件夹,以便有一个中央/入口点文件夹(父级) ) 提供通用配置和治理(其 pom.xml
文件)和模块(子文件夹)。
but maven decides to ship the url as given to the submodules which in turn evaluate the property.
确实 project.basedir
被评估为包含 pom.xml
的文件夹,针对我们当前正在构建(或子构建,在模块的情况),因为构建项目是给定时间的模块。
来自 official documentation关于 project.basedir
The directory that the current project resides in.
如果您希望始终指向启动构建的文件夹(即本例中的聚合器/父项目),您可以改用 session.executionRootDirectory
。
但是,如果希望直接从其目录构建模块,请特别小心,然后您可能会遇到麻烦(路径问题):您应该始终使用诸如 -pl
之类的 react 堆选项从父级运行它>(要构建的项目)。
这也引发了进一步的思考:项目的维护和可读性可能会受到这种方法的影响。企业 Maven 存储库将是更好的解决方案。
关于 SO 的进一步阅读:
更新
The question concerning X is, why does maven inherit before evaluation and how can I avoid this?
关于您的 X 问题,这是我能找到的解释:
答案依赖于 Maven 构建的核心,Maven Model Builder :
The effective model builder, with profile activation, inheritance, interpolation, ...
特别是,它按以下顺序执行以下步骤:
- phase 1
- profile activation
- raw model validation
- model normalization
- profile injection
- parent resolution until super-pom
- inheritance assembly
- model interpolation
- url normalization
粗体是我的。也就是说,它这样做是因为它的模型要求它这样做。
关于Maven的继承和属性求值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37658484/
for (i = 0; i <= 1000; i++) { if ( i % 3 === 0){ console.log(i); } if ( i % 5 ==
对于一项作业,我需要解决一个数学问题。我将其缩小为以下内容: 令 A[1, ... ,n] 为 n 整数数组。 令y 为整数常量。 现在,我必须编写一个算法,在 O(n) 时间内找到 M(y) 的最小
我可以使用 iOS MediaPlayer 并通过这种方式播放电影。但我需要,寻找一秒钟的电影。我该怎么做,我像这样通过 MediaPlayer 播放电影: NSURL *videoURL =
我听说过 eCos看起来作为一个爱好项目来玩会很有趣。 任何人都可以推荐一个价格合理的开发板。如果它不会增加太多成本,我想要几个按钮来按下(并以编程方式检测按下)和一些调试输出的 LCD。以太网会很好
给定 a 到 b 的范围和数字 k ,找到 a 到 b [包括两者]之间的所有 k-素数。 k-素数的定义:如果一个数恰好有 k 个不同的素数因子,则该数是 k-素数。 即 a=4 , b=10 k=
这是对 my previous question 的重新措辞尝试作为它收到的反馈的结果。 我想要一个简单的网络通信,我可以将其用作底层框架,而无需再次查看。我只想将一个字符串从一台 PC 推送到另一台
我有许多节点通过其他类型的中间节点连接。如图所示,中间节点可以有多个。我需要找到给定数量的节点的所有中间节点,并按初始节点之间的链接数量对其进行排序。在我的示例中,给定 A、B、C、D,它应该返回节点
我的代码遇到问题。我试图找到这个 5x5 数组的总和,但它总是给我总计 0。当我使用 2x2 数组时,它可以工作,但对于 5x5 数组则不起作用。有人可以帮忙吗? import java.util.*
我们有一个给定的数组,我们想要打印 BST 中每个节点的级别。 例如,如果给定数组为:{15, 6, 2, 10, 9, 7, 13} 那么答案是: 1 2 3 3 4 5 4 (表示存储15的节点级
我对 R 和编程非常陌生,所以请留在我身边:) 我正在尝试使用迭代来查找无限迭代到小数点后第四位的值。 IE。其中小数点后第四位不变。所以 1.4223,其中 3 不再改变,所以小数点后 3 位的结果
我的问题与 Fastest way of computing the power that a "power of 2" number used? 非常相似: 将 x=2^y 作为输入,我想输出 y。
如何找到三个非零数字中最小的一个。 我尝试引入一个非常小的数字eps = 1e-6(我的数字为零或明显大于eps)并在min(x,eps)、min(y,eps)之间进行测试)等我什么也没得到。有没有办
我有一个类(class),他们计算矩阵中最大的“1”岛,但他的岛概念是“如果两个单元在水平、垂直或对角线上彼此相邻,则称它们是相连的。 “ 我需要帮助来删除对角台阶。 class GFG {
我开始使用 IDE Jupyter && Python 3.6 并出现了一个问题。我必须通过IDE绘制Petersen子图中的哈密顿路径,但我不知道该怎么做。 我显示有关该图的信息: Petersen
public static void main(String[] args) { int sum = 2; int isPrime; for(int x = 3; x Mat
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: How much time should it take to find the sum of all prime
我想找到给定节点到链表二叉搜索树中根的距离。我有下面的代码来计算树的高度(root.getHeightN()),从根到叶子,但我现在需要的是从叶子到根。 public int getHeightN()
是否有一种优雅的方法使用预先计算的 KDTree 来查找连接组件的数量?现在使用呼吸优先搜索算法以及 k 最近邻的 KDTree 给出的邻接矩阵来查找连接的组件,但是是否有更好的可能性? import
我有一个要求,我需要找到具有相同名称的不同对象中 amt 值的总和。下面是代码片段 traveler = [ { description: 'Senior', Amount: 50}, {
我正在尝试使用 pandas 对某些列进行求和,同时保留其他列。例如: member_no, data_1, data_2, data_3, dat_1, dat_2, other_1, other_
我是一名优秀的程序员,十分优秀!