我正在使用BOM表来从另一个项目导入依赖关系到我的项目,并且我需要一种方法来引用已在所述BOM表中声明的依赖项版本。到目前为止,我已经尝试将依赖项版本作为BOM中的属性列出,但是这种方法失败了,因为属性不会随BOM一起导入。
我已经看到了Dependency
Plugin的dependency:properties目标 几乎可以
完全满足我的需求,但是除了给我完整的工件路径之外,我还需要将版本作为属性。有没有什么可以让我将已解析工件的版本作为属性的呢?
更新-“为什么不使用父pom?”
我通常会发现自己在应用程序服务器环境中工作,在该环境中,提供的依赖项由BOM工件指定(因为看来这已成为分发相互关联的工件组(即widlfly)的某种通用/标准方式。因此,我想将BOM作为真实的唯一来源。
重新 执行已在BOM表中定义的依赖项版本属性之类的想法的想法似乎是错误的。
如果要在镜像应用程序服务器环境的父pom中定义属性,那么我现在就不得不担心使父pom属性和BOM属性保持同步-为什么此时甚至没有BOM?
该信息已经在依赖树上可用,仅需公开它即可。
为此,找不到任何现有的Maven或插件功能,因此我分叉了旧的dependencypath-maven-
plugin并将其更改为使用版本。现在,我可以插入这样的插件:
<build>
.
.
<plugins>
.
.
<plugin>
<groupId>io.reformanda.semper</groupId>
<artifactId>dependencyversion-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<id>set-all</id>
<goals>
<goal>set-version</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
并访问如下属性:
groupId:artifactId:type [:classifier] .version
IE浏览器
io.undertow:undertow-core:jar.version = 1.3.15.Final
查看自述文件以获取有关如何使用该插件的更多信息。在Maven
Central可用:
<dependency>
<groupId>io.reformanda.semper</groupId>
<artifactId>dependencyversion-maven-plugin</artifactId>
<version>1.0.0</version>
</dependency>
…插件一直到…
问题内容: 最近,我一直在研究前一段时间开发的项目中的一些改进,这就是我所发现的。pom文件中的许多依赖项都没有指定版本,但是已经解决了。该项目包含1个根模块和2个子模块。使用了Aggregator模式,这意味着根本没有dependencyManagement部分。上层项目仅聚合了2个模块,仅此而已。子项目并不将其称为父项。他们有不同的父母。我无法理解的是,子项目本身或它们的父项(事实上,它也没有
当我对pom文件的属性部分中定义的键的依赖项使用version时,依赖项不会被下载,但是当我对依赖项的version进行硬编码时,依赖项会被下载。 repo.maven.apache.org/maven2/info/cukes/cucumber-java/{cucumber-version}/cucumber-java-{cucumber-version}.pom 为什么不是用在propertie
例如:我们有一个health Utility jar,它作为maven依赖项添加到另一个项目a中。我们希望从health Utility jar中获得项目a的maven版本
考虑到我有依赖项groupId和artifactId,我如何从pom中提取这个依赖项的版本。xml文件? 示例:如果我使用artifactId和groupId进行查询,我希望能够提取下面的依赖项版本。 我想将版本分配给一个全局环境变量,即DEP_version=1.6
问题内容: 我使用Maven开发和构建了Java应用程序。我需要支持Java 1.6,因此我使用以下属性: 尽管如此,当我运行该应用程序时,仍然出现“不受支持的major.minor版本”错误,并且我怀疑我的一个依赖罐是使用比我需要支持的Java版本更新的Java版本进行编译的。 我的问题: 这有可能吗?我以为Maven会解决这种依赖版本问题。 有没有一种简单的方法来找出我所有依赖项的次要/主要版
告诉Gradle以下内容的最简单方法是什么: 检索“junit”依赖项并获取其最新版本。 管理Maven和Ivy仓库对我来说有点新鲜。我尝试了以下步骤,它们导致错误: > 编写,并按以下方式设置存储库: 尝试使用Spring Source Ivy仓库: 也许我误解了什么。为什么获取最新版本的依赖项会如此困难?