首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >maven发布插件可以检查通过maven依赖插件下载的工件中的快照版本吗?

maven发布插件可以检查通过maven依赖插件下载的工件中的快照版本吗?
EN

Stack Overflow用户
提问于 2014-09-16 16:16:57
回答 1查看 914关注 0票数 2

我们有一个项目A,它从另一个项目B下载一个工件,对它执行一个操作,并由此产生一个新的工件。我们使用来自Maven依赖插件的“依赖:复制”目标来从我们的Maven存储库获得这个Project工件。

当我们执行一个Maven发行版时,我希望maven发布插件的“release :Pre准备”目标检查所有依赖项,如果找到任何快照版本,就会失败。这适用于我们的<dependencies><dependency>...</dependency></dependencies>标签下的正常依赖项,但不适用于由maven依赖插件复制的工件“依赖项”。

我如何(如果有的话)向maven发布插件的准备测试公开这些复制工件的版本,并确保我们从未构建包含项目B快照的项目A版本?

如果上下文有帮助,下面是我们的pom中maven依赖项插件设置的简化版本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.8</version>
    <executions>
        <execution>
            <id>copy</id>
            <phase>process-sources</phase>
            <goals>
                <goal>copy</goal>
            </goals>
            <configuration>
                <artifactItems>
                    <artifactItem>
                        <groupId>${ProjectBGroupID}</groupId>
                        <artifactId>${ProjectB}</artifactId>
                        <version>${ProjectBVersion}</version>
                    </artifactItem>
                </artifactItems>
            </configuration>
        </execution>
    </executions>
</plugin>
EN

回答 1

Stack Overflow用户

发布于 2014-09-16 16:21:09

给我自己的问题加上一个答案,我发现我们可以通过在项目A的pom中添加一个额外的<dependency>...</dependency>元素(它指项目B),将版本号暴露给maven-release。如果我们尝试使用快照发布,这将正确地导致失败,但它也会将项目B暴露给项目A的类路径。我们可以通过包含一个“<scope>”(这使B的类不包含在A的二进制文件中)来限制这一点,但这仍然使A的单元测试被B‘污染’。

我希望这里有人有一个更好的解决方案,它实际上不会将项目B添加到项目A的类路径中。

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

https://stackoverflow.com/questions/25880370

复制
相关文章
maven版本号插件
项目地址:https://github.com/mojohaus/flatten-maven-plugin
阿超
2022/09/28
6190
Maven 的 Maven Compiler Plugin 插件
从 JDK 9+ 版本以后,添加了一个 --release 参数来告诉 Maven 在编译的时候使用的是那个 JDK 的版本。
HoneyMoose
2022/04/08
1.5K0
Maven 的 Maven Compiler Plugin 插件
Android:发布aar包到maven仓库以及 maven插件 和 maven-publish 插件的区别
在日常开发中,不可避免的需要把自己的 library 发布到 maven 仓库中,这样使用起来也更加方便。
分你一些日落
2021/12/06
4.5K0
Android:发布aar包到maven仓库以及 maven插件 和 maven-publish 插件的区别
maven 中的版本依赖冲突问题
在使用maven构建依赖的时候,发现springBoot的版本和导入的依赖版本中的 spring-context 的版本出现冲突。
猎户星座1
2020/08/07
3.1K0
maven插件
plugins标签 为了使项目结构更为清晰,Maven区别对待Java代码文件和资源文件,maven-compiler-plugin用来编译Java代码,maven-resources-plugin则用来处理资源文件。 引入tomcat插件,使用命令tomcat7:run即可编译运行,不需要外部的tomcat插件 <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId>
秋白
2018/05/24
6180
Maven 插件
每个生命周期中都包含着一系列的阶段(phase)。这些 phase 就相当于 Maven 提供的统一的接口,然后这些 phase 的实现由 Maven 的插件来完成。
陈不成i
2021/07/14
5430
maven 插件
一直没注意看maven执行过程中的打印日志,今天突然发现一段话,说编译以及resource未指定编码,默认gbk。于是,百度了设置编码的方式: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version>
Ryan-Miao
2018/03/13
6260
maven常用的插件
编译 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> 打war包 <plugin> <groupId>org.apac
码客说
2019/10/22
5260
maven依赖的版本管理
在一个项目中,这样做的必要性不大,这种机制一般用于maven项目继承,子项目可以直接使用简化的依赖配置,从而确保和父项目版本一致。
pollyduan
2019/11/04
1.7K0
Maven Helper插件——实现一键Maven依赖冲突问题
业余在一个SpringBoot项目集成Swagger2时,启动过程一直出现以下报错信息——
朱季谦
2022/01/15
8730
Maven Helper插件——实现一键Maven依赖冲突问题
Maven Helper插件——实现一键Maven依赖冲突问题
业余在一个SpringBoot项目集成Swagger2时,启动过程一直出现以下报错信息——
朱季谦
2022/03/09
8560
Maven Helper插件——实现一键Maven依赖冲突问题
【Maven】maven 插件开发实战
众所周知,maven 实质上是一个插件执行框架,所有的工作都是通过插件完成的。包括我们日常使用到的类似 install、clean、deploy、compiler。。。这些命令,其实底层都是一个一个的 maven 插件。
KIWI
2020/04/08
1.8K0
eclipse的maven插件(eclipse更新maven仓库)
打开eclipse的help菜单,选择install new software项。
全栈程序员站长
2022/08/01
7210
eclipse的maven插件(eclipse更新maven仓库)
Maven 中依赖使用的版本号
最近为了引入一个包,在这个包的使用上看到了定义的依赖的一个版本号定义方式。<dependency> <groupId>com.configcat</groupId> <artifactId>configcat-java-client</artifactId> <version>[7.0.0,)</version></dependency>这个定义方式有点奇怪,通常我们都是指定完整的版本号的。解释经过考古后才知道,Maven 是允许进行这样定义的。根据我的理解就是 [] 和 () 各自表达的意义是不同的
HoneyMoose
2022/09/19
1.3K0
Maven 中依赖使用的版本号
jar包冲突,通过idea的maven插件排除
发现dubbo自带了spring 是2.x的版本,所以将该排掉就OK了,防止冲突。
逍遥壮士
2021/03/23
9440
idea maven helper 插件 maven依赖冲突解决 jar包冲突解决
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
IT云清
2019/10/25
2.7K0
Maven Failsafe 插件
maven FailSafe插件是用来执行集成测试的,Surefire插件则是用来执行单元测试的。说到这里,笔者觉得有必要提一下maven的生命周期与集成测试相关的四个阶段:
johnhuster的分享
2022/03/28
5220
Maven Release 插件
将代码切换到之前做标记的地方,运行 Maven 部署目标来部署 WAR 文件或者构建相应的结构到仓库里。
陈不成i
2021/07/15
5250
eclipse maven插件的安装
对 于老版eclipse,光把maven装上了,实际上用起来还是不方便。就像光把java装上,用命令行很不方便一样。我们得能在eclipse里用 maven就好了。在百度中输入:eclipse maven插件包。我们能下载下它来。eclipse-maven3-plugin.7z,解压它,将解压后的子文件夹features和plugins 的jar包文件分别拷贝入Eclipse安装目录下的features和plugins文件夹内,然后重启Eclipse,就可以在 Preferences中看到Maven选项了。说明Maven插件配置成功。
马克java社区
2019/09/23
8170
eclipse maven插件的安装
常用Maven插件
编写dependency标签,而真正编译,打包都是通过插件来完成的,这篇文章整理下工作中用的比较多的Maven插件,更详细的Maven插件请参考官网:https://maven.apache.org/plugins/index.html。
心平气和
2021/09/24
6990

相似问题

Maven发布插件、版本插件和快照

11

Maven发布插件:使用快照版本发布

25

可以在Maven发布插件中过滤工件吗?

16

Maven发布和版本maven插件

15

哪个Maven插件可以下载maven依赖项?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文