首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><groupId>@project.groupId@</groupId>中@符号的用途是什么?

<groupId>@project.groupId@</groupId>中@符号的用途是什么?
EN

Stack Overflow用户
提问于 2014-01-02 22:53:23
回答 2查看 926关注 0票数 4

我试图在一个多模块项目的子模块中运行'mvn干净安装‘。这个项目是雅可科,但我认为这更多的是我不理解Maven是如何在这里使用的问题,而不是Jacoco本身的问题。

https://github.com/jacoco/jacoco/blob/master/jacoco-maven-plugin.test/it/it-site/pom.xml

我得到以下错误:

错误插件@project.groupId@:jacoco-maven-plugin:@project.version@或其依赖项无法解决:无法读取@project.groupId@:jacoco-maven-plugin:jar:@project.version@的工件描述符

我在pom中看到了以下内容

代码语言:javascript
复制
<groupId>@project.groupId@</groupId>
<artifactId>jacoco-maven-plugin</artifactId>

我不熟悉在@project.groupId@中使用@符号,尽管我假设它应该在运行时被替换。

我可以从顶级pom运行Maven,我甚至可以在日志中看到[INFO] Building: it-site/pom.xml,但在日志中没有创建目标目录。

如果能朝正确的方向前进,我们将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-03 00:54:51

这可能与这里的pom文件有关:https://github.com/jacoco/jacoco/blob/master/jacoco-maven-plugin.test/pom.xml

它正在使用一个名为maven调用者的插件。

调用程序插件用于运行一组Maven项目。插件可以确定每个项目执行是否成功,并且可以选择地验证从给定项目执行中生成的输出。

如果你读到用这个插件过滤文件,它提到

包含/排除模式选择的POM文件。要过滤的标记必须包含在@.@中,以避免干扰Maven的正常POM插值,即使用@project.version@而不是${project.version}。

票数 3
EN

Stack Overflow用户

发布于 2014-01-03 04:32:42

关于为什么这里使用调用程序插件和过滤..。

弹簧启动文件提供了一些相关的背景说明为什么是这样的。虽然docs是用于Spring的,但我认为它适用于测试所有插件( Jacoco就是这样的)。

多模块Maven构建不能直接包含作为反应堆一部分的maven插件,除非它们以前已经构建过。..。标准构建围绕这一限制工作,通过maven-invoker-plugin启动样本,使它们不属于反应堆。 示例应用程序在构建过程中用作集成测试(当您安装mvn时)。由于它们使用了spring-boot-maven-plugin,所以不能直接调用它们,因此它们是通过maven-invoker plugin.启动的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20893450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档