我有一个公司范围内的父pom,带有部分定义了我的项目应该在整个应用程序中使用的版本,其中一些是快照,有点像这样:...my.groupmyArtifact1.0-SNAPSHOT...当我运行release:prepare在父pom上,这些快照不会被删除。结果是从父级继承的项目在发布时不能使用它的版本。我如何确保当我发布时,父pom的部分会更新吗?我看到了这个问题:whydoesmavenreleasepluginallowforSNAPSHOTversionindependencymanagment?,但提到的票证声称已在该插件的早期版本中修复。MavenReleasePlugin2
我对optionaldependencies的机制有点困惑在Maven工作。似乎可选依赖项只有在直接指定时才有效,而不是通过依赖项管理。我创建了三个测试项目p1-p3,具有依赖关系:p3依赖于p2p2依赖于p1如果我在中将依赖项声明为可选元素,这按预期工作。p2的POM:testgroupp11.0-SNAPSHOTtrue结果:p3的构建引入了p2,但没有p1。但是,如果我在中将依赖项声明为可选元素,它似乎被忽略了。p2的POM:testgroupp11.0-SNAPSHOTtruetestgroupp1结果:p3的构建引入了p2和p1。这是预期的行为吗?我在任何地方都找不到这个记录
我正在寻找关于这种情况的解释:我有一个项目有一个dependencyManagement/dependencies部分:我的项目/pom.xml:org.springframework.cloudspring-cloud-starter-parentBrixton.M3pomimportorg.springframework.cloudspring-cloud-starter-eurekaspring-cloud-starter-parentpom定义:${basedir}/../..1.1.0.BUILD-SNAPSHOTorg.springframework.cloudspring
在Maven中,您可以通过dependencyManagement中的条目覆盖传递依赖项的版本号,因为dependencyManagement优先于传递依赖项定义。但是(传递)依赖项的pom中的dependencyManagement定义呢?他们被考虑了吗?如果是这样,它们覆盖了什么,它们是如何被覆盖的? 最佳答案 依赖管理暗示是可传递的。不需要为此制定特殊规则,而是已经提到的规则的结果:TransitiveDependencies.考虑这个示例结构:你的模块A-依赖D-传递依赖B-依赖D-传递依赖当A或B构建时,它们相应的depe
我有一个布局如下的多模块项目:pom.xmlprojAtrunkpom.xmlprojA1pom.xmlprojA2pom.xml在父级的pom中我定义了dependencyManagement和properties:6.01.2.11...junitjunit${junit.version}javaxjavaee-api${javaee-api.version}projA2的pom.xml包含:log4jlog4jprojA1的pom.xml包含:${project.groupId}projA2${project.version}在projA1中,我使用的是log4j,但依赖关系是可
我们使用的是maven2.1.0。我有多个完全独立的模块,但仍然有许多共同的依赖关系。像log4J,但有些模块不需要它。我想知道在的一个父文件中声明所有常见依赖项是否是个好主意。部分还是有更好的方法来处理这个问题?关于的后续问题.如果我在中声明Log4J父项目和子项目的部分不使用它,它是否会被包含在内? 最佳答案 如果你有一个父项目,你可以在父pom的dependencyManagement部分声明所有的依赖和它们的版本。这并不意味着所有项目都会使用所有这些依赖项,这意味着如果一个项目确实声明了依赖项,它将继承配置,因此它只需要声明