之前有过几篇文章介绍了mavven中release和snapshot库的作用,如下(不太了解的可以参考看一下):
1、maven2中snapshot快照库和release发布库的应用
2、maven中snapshot快照库和release发布库的区别和作用
另外,今天在使用snapshot快照库时遇到一个问题,我一个构件的发布配置如下(在构件的pom文件中):
<modelVersion>4.0.0</modelVersion>
<groupId>cc.mzone</groupId>
<artifactId>workflow</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<distributionManagement>
<repository>
<id>kt</id>
<url>http://192.168.1.112/nexus/content/repositories/kt</url>
</repository>
<snapshotRepository>
<id>kt-snapshot</id>
<url>http://192.168.1.112/nexus/content/repositories/kt-snapshot</url>
<uniqueVersion>true</uniqueVersion>
</snapshotRepository>
</distributionManagement>
这个是构件的发布配置,其中snapshot快照库中使用了uniqueVersion为true,这个表明每次发布都会在服务器上留下一个新版本(加上时间后缀的版本)。这个true和false不影响快照库,只是是否节省服务器空间的问题。在通过mvn deploy发布到服务器后,在依赖该构件的项目的pom文件中写上依赖:
<dependency>
<groupId>cc.mzone</groupId>
<artifactId>workflow</artifactId>
<version>0.1-SNAPSHOT</version>
</dependency>
然后在该项目中执行:mvn eclipse:eclipse进行其依赖构件的下载,结果却发现提示如下:
[WARNING] An error occurred during dependency resolution.
Failed to retrieve cc.mzone:workflow-0.1-SNAPSHOT
Caused by: Unable to download the artifact from any repository
Try downloading the file manually from the project website.
刚开始不太清楚原因,经过查证比对,发现是因为项目没有开启snapshot快照库的缘故!知道了原因,解决就好办了,有两种方法可以解决:
1、第一种方法是在项目的pom文件中进行配置,如下:
<repositories>
<repository>
<id>cc-mzone-nexus</id>
<name>MZONE</name>
<url>http://192.168.1.112/nexus/content/groups/public/</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>interval:5</updatePolicy>
</snapshots>
</repository>
</repositories>
2、第二种方法是在maven的配置文件(conf/settings.xml)中进行配置,如下:
<profiles>
<profile>
<id>cc-mzone-profile</id>
<repositories>
<repository>
<id>cc-mzone-nexus</id>
<name>MZONE</name>
<url>http://192.168.1.112/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>interval:10</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>cc-mzone-profile</activeProfile>
</activeProfiles>
以上两种方式都是打开snapshot快照库,允许快照库生效(重要就是snapshot中enabled要设置为true),第一种是项目级别的,第二种是全局的。出现的问题当然主要还是默认snapshot快照库是没有生效导致的,如此配置即可解决问题!
分享到:
相关推荐
一个大型的软件应用通常包含多个模块,并且通常的场景是多个团队开发同一应用的不同模块。举个例子,设想一个团队开发应用的前端,项目为 app-ui(app- ...为了解决这种情况, 快照(SNAPSHOT) 的概念派上了用场。
最终,该想法是要提供一种服务,该服务可以在一次往返中告诉您自上次构建以来已更改的所有快照依赖项,然后使用此信息来缩短对远程存储库的请求(如果有依赖项)尚未发布新快照,因此无需获取maven-metad
2. 安装和运行Maven 2.1. 验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven 2.3.1. 在Mac OSX上安装Maven 2.3.2. 在Microsoft Windows上安装Maven 2.3.3. 在Linux上安装Maven 2.3.4. 在FreeBSD或OpenBSD上...
1.名称:mybatis-3.4.1-SNAPSHOT.jar 2.来源:2016.06.17在github下载的mybatis源码通过maven编译生成,是当天最新的jar...3.备注:mybatis开发用jar包,因为是SNAPSHOT快照版,建议开发用,生产最好用发布的正式版的。
SNAPSHOT是快照的意思,项目到一个阶段后,就需要发布一个正式的版本(release版本)。一次正式的发布需要这样一些工作: 在trunk中,更新pom版本从1.0-SNAPSHOT到1.0 对1.0打一个svn tag 针对tag进行mvn deploy,...
SNAPSHOT是快照的意思,项目到一个阶段后,就需要发布一个正式的版本(release版本)。一次正式的发布需要这样一些工作: 在trunk中,更新pom版本从1.0-SNAPSHOT到1.0 对1.0打一个svn tag 针对tag进行mvn deploy,...
SNAPSHOT是快照的意思,项目到一个阶段后,就需要发布一个正式的版本(release版本)。一次正式的发布需要这样一些工作: 在trunk中,更新pom版本从1.0-SNAPSHOT到1.0 对1.0打一个svn tag 针对tag进行mvn deploy,...
DarchetypeArtifactId=maven-archetype-jakartaee9 \-DarchetypeVersion=1.0 \-DgroupId=com.example \-Dpackage=com.example.demo \-DartifactId=myapp \-Dversion=1.0-SNAPSHOT 我也将快照版本上
要查看特定版本的文档,请用版本字符串替换上述URL中的latest或snapshot 。 快照和发行 Snaphot和发行版将使用自动发布到Maven Central。 通过以下步骤执行发布: 。 应该已经创建,编辑和发布了草稿版本。 Git...
节俭的插件 带有预编译存档的Thrift编译器,仅适用于Java... io.potter.thrift:thriftc仅使用快照,因此应首先设置存储库: <id>sonatype-oss-snapshot <name>sonatype-oss-snapshot <url>https://oss.sonatype
该库作为Maven工件发布在快照存储库中的开源Sonatype存储库托管服务(OSSRH)中。 要在项目中使用最新的开发版本,请添加以下依赖项: compile ' es.danirod:turbox:0.1.0-SNAPSHOT ' 或者,如果您更喜欢Maven...
Maven仅在进行快照构建时才获取最新的工件实例,而实际上并不需要较旧的实例。 Artifactory具有一个存储库设置,该设置限制了一个版本的唯一快照工件的数量,但是默认情况下此限制处于关闭状态(请参阅管理标签=>...
迪恩包含用于 Java 1.5+ 的自动生成的 Axis2 SOAP 客户端的库在另一个 Maven 项目中使用这个库: 将以下内容添加到发布的 pom.xml 中: <repositories> <repository> <id>maven.leadoperations.co-release</id> ...
可以在我们的Spring Data示例存储库中找到使用BOM的工作示例。有了这个,您可以在块中声明要使用的Spring Data模块,而不是版本,如下所示: 示例2.声明对Spring Data模块的依赖关系 <groupId>org.spring...
Version一般分两种,SNAPSHOT为快照版本,RELEASE为最终发布版本,前面的编号为版本号: 接下来进入maven配置阶段,我的本地安装路径为D:\apache-maven-3.5.0,接下来两个分别是maven配置文件地址和本地仓库地址: ...
对于Maven项目,只需添加以下依赖项: < dependency> < groupId>com.afrunt.h2s</ groupId> < artifactId>h2-snapshots</ artifactId> < version>0.1</ version></ dependency>用法基本上,您需要创建H2...
元素 Elementa(来自Euclid在Geometry上出版的第一本书的名称)是一个旨在使GUI创建极其简单的库。 它基于几个关键概念,使用浏览器DOM的人... 如果您以前使用的是Elementa v1.7.1,现在使用的是v2.0.0快照,请参阅文档
在稳定版本发布(很快)之前,可以在Sonatype OSS Snapshots存储库中使用快照版本。 依存关系 Primeval Reflex需要Java 8,并且依赖于SLF4J日志记录API和ASM字节码操作库。 < groupId>org.slf4j ...
对于Tron的预构建版本,将ChiralBehaviors cloudbees存储库添加到项目的pom.xml中: 对于快照: <id>chiralbehaviors-snapshots <name>ChiralBehaviors Snapshots <url>...
Sbt插件用于全自动发行,该版本中没有SNAPSHOT和git sha。 混合了和的最佳创意。 特征 从git标签(例如v1.0.0 )中检测上一个版本,并自动标记并发布下一个版本为v1.0.1 没有快照,没有手动标记 如果您的构建配置...