接触Maven有几年时间了,不得不说,它是个好东西,一旦接触之后就有种爱不释手的感觉。
最近在开发中遇到一个疑问,开发阶段的依赖中往往更改一小丁点东西都需要升级版本发布,十分繁琐。
对此查了很多资料,国内的资料十分有限,看来国内还很少有朋友遇到这个问题,大家应该都是使用升级版本更新依赖的方式。
上了官网查查资料,还真有解决方案。
首先要分清楚Snapshot和Release的区别
maven中的仓库分为两种,snapshot快照仓库和release发布仓库。snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本。定义一个组件/模块为快照版本,只需要在pom文件中在该模块的版本号后加上-SNAPSHOT即可(注意这里必须是大写),
如
<groupId>org.quinn</groupId>
<artifactId>accounts</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
修改setting.xml的发布部分如下设置
<profile>
<id>dev</id>
<repositories>
<repository>
<id>nexus</id>
<url>http://ip:8081/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<url>http://ip:8081/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
可以看到我在snapshot下面加了如下设置
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
看下maven官方对这个属性做出的解释,重点就是updatePolicy属性
enabled设置为true
updatePolicy更新snapshot包的频率,属性有四个值always(实时更新) daily(每天更新) interval:xxx(隔xxx分钟更新一次) never(从不更新) 默认为daily
checksumPolicy为warn
如果是使用eclipse开发,集成了maven插件的,还需要做如下事情。
Window>Preferences>Maven>User Settings>Update Settings
完成以上操作可完成无需更改版本发布,依赖方也不需要更改pom,只需执行一下mvn clean install 即可完成依赖更新
- 大小: 46.7 KB
分享到:
相关推荐
第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.6 release:prepare:发布前检查/11.4.6.3 检查通过后修改POM文件 第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.7 release:rollback:回滚 第11章:用...
Maven权威指南 Authors Tim O'Brien (Sonatype, Inc.) , John Casey (Sonatype, Inc.) , Brian Fox (Sonatype, Inc.) , Bruce Snyder () , Jason Van Zyl (Sonatype, Inc.) , Juven Xu () Abstract Maven权威指南...
好处:更新的时候如果更新后台(管理员),只需要重启后台的tomcat(服务); 折成两个项目以后的缺点:Service以下的代码重复; 将Service层以下的代码放到一个新创建的java项目中,在部署的时候将Service(java项目)打成...
j2cache修改了开源中国的红薯的j2cache,全部依赖库都升级为最新版本,修改为maven结构,且去掉了hibernate的支持注意:fst最新版本需要jdk1.7支持具体的依赖库版本请参考pom文件。主要修改内容如下:2015-09-07修改...
虽然不建议在主要版本更改通常会传达破坏性API更改的库中使用此版本控制策略,但此版本策略对于部署不公开API的面向消费者的软件更为有用。 用法 该插件需要Java 8以及发行插件的最新版本。 要在项目中编辑使用您的...
最终目的是增加从可视化屏幕操作pom的功能,当然,如果不是完整的依赖项管理,则当然可以用于诸如版本更改之类的简单操作。 基本入门要求: Python 3.4 TKinter(在APT支持Linux发行版上,可以使用'sudo apt-get ...
要通过命令行执行此插件的最新版本,请将其更改为maven项目。 “检查-延后” Maven目标 mvn com.vegardit.maven:depcheck-maven-plugin:check-deps 这将运行check-deps目标,该目标将扫描项目并报告依赖关系问题。 ...
在maven项目中,我们加入pom依赖时,jar包有时候,会下载不完整就会报错,所以我们需要清除,用这个脚本,只需要将其中的路径修改为本地仓库的路径,就可以清理
1、创建步骤 ...创建好项目后,pom.xml报错,其中的依赖maven无法下载。 双击clean或install,下载依赖报错 [ERROR] Non-resolvable parent POM: Could not transfer artifact org.springframewor
5. system,类似provided,需要显式提供包含依赖的jar,Maven不会在 Repository中查找它。 注意: 在使用maven 打包或者编译时报:-source1.3 中不支持注释错误解决方案如下: <artifactId>maven-...
搜索hadoop—选择对应版本—-就有maven的pom依赖,根据需求搜索其他的对应开发包进行相应的pom依赖添加 这里需要添加hadoop以及hdfs的相应依赖 4.2 修改maven库位置 file-setting–maven 5、创建文件夹resourc
这种方法的一个重要好处是,关于如何组装核心项目(在本例中称为服务器)的实际组装信息包含在该项目的 POM 中,因此关于已完成操作的过多信息不会泄露给组装项目。 将顶级目录视为单独的存储库,其中插件将依赖于...
mvnmon (Maven监视器)是一个GitHub应用程序,它将监视存储库中的pom.xml文件,并打开pull请求以更新其<dependencies> 。 目的 mvnmon旨在使mvnmon依赖版本的日常维护变得mvnmon 。拉取请求将打开并显示建议的更新...
该存储库是官方存储库的未经修改的副本,但是BCEL依赖项已更新,以指向Java 8兼容版本,该版本是FindBugs软件包的一部分。 要在本地使用它: git clone https://github.com/thesegovia/maven-shared-jar.git cd ...
Condon,更新依赖项,添加资源步骤,更改 pom 文件指令以使用该项目中可用的最终指令,而不是从 Akio 开始。 介绍: 这个更新的 dvn maven 项目只是稍微修改了 Akio 之前为 v3.3 所做的工作:它更新了项目以与正在...
虽说容易,但在框架搭建过程中仍然遇到了许多问题,这个实例使用的是sql2005数据库,需要先在微软官网下载依赖包(微软不支持Maven直接下载包),再把包放入Maven的本地仓库中,之后pom中导入(请按照pom中的路径放...
2、maven 编译maven 编译过程演示创建maven项目 5、maven 依赖管理 在pom 文件中添加junit 依赖修改测试类,加入junit 代码执
3、如果你的项目是maven项目需要在pom文件中添加如下依赖 <dependency> <groupId>org.webjars.bower <artifactId>ueditor <version>1.4.3 4、修改jsp文件下的config.json的ordermealsys 字符串为你的项目名称...
os-maven-plugin是一个扩展/插件,它生成从${os.name}和${os.arch}标准化的各种有用的依赖于平台的项目属性。 ${os.name}和${os.arch}在JVM和操作系统版本之间通常有细微的差别,或者它们有时包含对机器不利的字符...