接触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
分享到:
相关推荐
本文将深入探讨如何批量修改POM文件中的依赖版本,并结合`POMDependencyVerifierTest.java`这个文件名,推测这是一个用于测试POM依赖验证的Java类。 1. **Maven依赖管理**: Maven依赖管理通过在顶级pom.xml(如果...
1. **更新版本控制系统**: - 将所有的POM文件更改提交到版本控制系统中。 - 对于使用SVN的项目,可以使用`svn commit`命令来提交更改。 - 命令格式为:`svn commit -m "Update project version to 1.0.1-...
在开发阶段,利用快照版本可以简化依赖更新的过程,无需手动修改pom.xml文件。可以通过`mvn clean package -U`命令强制Maven下载最新快照。 然而,过度依赖SNAPSHOT版本也有其潜在问题。首先,快照版本的不稳定性...
"maven jar包直接根据pom下载"这一主题涉及的是如何利用Maven的特性,通过修改POM(Project Object Model)文件来自动下载项目所需的jar包。 POM.xml是Maven项目的配置文件,它定义了项目的结构、依赖、插件和其他...
在使用IntelliJ IDEA(简称Idea)进行Maven项目开发时,有时会遇到POM.xml文件不自动更新的问题,导致新添加的依赖项无法在External Libraries中显示,进而影响到代码的编译和运行。本文将详细讲解这个问题的原因及...
pom 文件中使用 `<dependencyManagement>` 将 springmvc.jar 管理起来,如果有哪个子项目要用,那么子项目在自己的 pom 文件中使用 `<dependency>` 标签中写上 springmvc.jar 的坐标,不需要写版本号,可以依赖到这...
本文将详细介绍IDEA 2020.1 版本中的MAVEN自动导入依赖项的方法,包括新版MAVEN无法自动导入/更新POM依赖、MAVEN设置自动更新、自动更新快捷键等内容。 首先,需要了解的是,IDEA 2020.1 版本中,MAVEN自动导入依赖...
为了使用这些依赖,你需要在项目的`pom.xml`文件中添加相应的依赖项。例如: ```xml <groupId>org.apache.hive <artifactId>hive-jdbc 最新版本号 <groupId>org.apache.hadoop <artifactId>hadoop-...
此命令将快照版本号更新为发布版本号,并基于修改后的POM文件执行Maven构建。同时,它还会提交POM文件变更,为代码库添加标签,并将代码库中的版本号更新为下一个快照版本。 - **release:prepare-with-pom**: 类似于...
- 更新版本号 - 执行清理、编译、测试和打包 - 部署到远程仓库 批处理文件可以方便地整合这些操作,并且可以通过Jenkins、GitLab CI/CD或其他持续集成工具自动化执行,从而实现一键升级和部署。 总之,Maven...
1. **项目对象模型(Project Object Model, POM)**:Maven基于POM来管理项目,POM是一个XML文件,包含了项目的基本信息、构建指令、依赖关系等。 2. **坐标(Coordinates)**:每个Maven项目都有唯一的坐标,由...
1. **依赖版本不匹配**:Dubbo项目依赖于许多其他库,如果本地Maven仓库中的依赖版本与项目中声明的不一致,可能导致编译失败。解决方法是更新Maven的settings.xml文件,或者在pom.xml中指定特定版本。 2. **网络...
Maven 使用一套标准的目录结构和项目对象模型(Project Object Model, POM),使得项目的构建过程更加规范和自动化。在本场景中,我们讨论的是 Apache Maven 的 3.9.6 版本,这是该工具的一个稳定版本,提供了许多...
【标签】"源码"提示我们这个实例可能涉及查看或修改项目的源代码,这在理解Maven如何处理依赖时非常重要,因为我们需要在项目的`pom.xml`文件中定义这些依赖。"工具"则表明Maven作为开发者工具的角色,它简化了依赖...
如果发现多个版本的`maven-resources-plugin`,需要确保只使用一个版本,并更新POM.xml文件中的配置。 #### 2. 配置Maven环境 确认Maven已经正确安装并配置到系统环境变量中。可以通过执行`mvn -v`命令来验证Maven...
2. **项目依赖管理**: Maven的中央仓库存储了大量的开源库,开发者无需手动下载这些库,只需在POM.xml文件中声明依赖,Maven就会自动下载并管理这些依赖,解决了“jar地狱”问题。同时,Maven支持传递性依赖,意味着...
要在Maven项目中使用`maven-jetty-plugin`,首先需要在项目的`pom.xml`文件中添加插件的配置。例如: ```xml ... <groupId>org.mortbay.jetty <artifactId>maven-jetty-plugin <version>6.1.x...
在Java开发领域,Maven是一个不可或缺的项目管理工具,它通过使用一个名为pom.xml的配置文件来管理和构建项目。pom.xml文件是Maven项目的灵魂,它包含了项目的元数据,如项目信息、依赖关系、构建配置等。下面我们将...
3. **编辑POM.xml**:根据项目需求修改POM.xml文件,添加依赖、配置插件、设定构建目标等。 4. **构建项目**:运行`mvn compile`进行编译,`mvn test`执行单元测试,`mvn package`打包项目,`mvn install`将结果...
Maven是Java开发中不可或缺的构建工具,它通过项目对象模型(Project Object Model, POM)和插件来管理项目的构建、报告和依赖关系。Maven 3.5.3是其特定的一个版本,提供了许多改进和新特性。 ** Maven的核心概念*...