IntelliJ/Maven 不从 Artifactory 更新工件
IntelliJ/Maven not updating artifacts from Artifactory
我最近设置了一个密码保护的 Artifactory 服务器。 Jenkins 服务器正在将我的工件部署到该 Artifactory 服务器上的 Maven 存储库。
这是问题所在:
新构建在运行时(在 IntelliJ 中)既不在 Maven 中(构建时)也不可用。为了让 Maven 更新,我必须从我的本地存储库中删除工件。
如何让 Maven/IntelliJ 始终检查最新版本?
即使那样也没有做任何事情:
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
处理的案例有:
- 发布。如果本地缓存中存在相同版本的发布二进制文件(
~/.m2/
Maven 的存储库缓存或 Artifactory 的远程存储库缓存),Maven 和 Artifactory 都不会检查更新的二进制文件。 强制 Artifactory 和 Maven 重新获取发布工件的唯一方法是将其从缓存中删除。永远不要对不同的 blob 使用相同的版本。
- 快照。虽然唯一(文件名以时间戳结尾)和非唯一(文件名以
-SNAPSHOT
结尾,因此它们违反了我刚刚写的规则,所以不要使用它们)之间存在差异,但它们的检索策略是同样的:Maven 认为它们 过期资源 ,它会偶尔检查一个新的 blob,发布在同一版本下。 Artifactory 做同样的事情:偶尔会声明过期资源 "expired",因此下次 Maven 请求此资源时,Artifactory 将提取到远程存储库以检查是否有新的 blob,发布在同一版本下。在这两种工具中,您都可以手动控制缓存期和 "zap the cache"。
- 在 Maven 中
<update-policy/>
控制 Maven 检查新快照的频率,--update-snapshots
标志强制 Maven 立即检查。
- 在 Artifactory 中,远程存储库配置中的
Retrieval Cache Period
参数控制 Artifactory 检查新快照的频率,并且在工件浏览器屏幕中对远程存储库的 Zap Caches
操作确保 Artifactory 将检查用于下一次请求的新快照。
我最近设置了一个密码保护的 Artifactory 服务器。 Jenkins 服务器正在将我的工件部署到该 Artifactory 服务器上的 Maven 存储库。
这是问题所在:
新构建在运行时(在 IntelliJ 中)既不在 Maven 中(构建时)也不可用。为了让 Maven 更新,我必须从我的本地存储库中删除工件。
如何让 Maven/IntelliJ 始终检查最新版本?
即使那样也没有做任何事情:
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
处理的案例有:
- 发布。如果本地缓存中存在相同版本的发布二进制文件(
~/.m2/
Maven 的存储库缓存或 Artifactory 的远程存储库缓存),Maven 和 Artifactory 都不会检查更新的二进制文件。 强制 Artifactory 和 Maven 重新获取发布工件的唯一方法是将其从缓存中删除。永远不要对不同的 blob 使用相同的版本。 - 快照。虽然唯一(文件名以时间戳结尾)和非唯一(文件名以
-SNAPSHOT
结尾,因此它们违反了我刚刚写的规则,所以不要使用它们)之间存在差异,但它们的检索策略是同样的:Maven 认为它们 过期资源 ,它会偶尔检查一个新的 blob,发布在同一版本下。 Artifactory 做同样的事情:偶尔会声明过期资源 "expired",因此下次 Maven 请求此资源时,Artifactory 将提取到远程存储库以检查是否有新的 blob,发布在同一版本下。在这两种工具中,您都可以手动控制缓存期和 "zap the cache"。- 在 Maven 中
<update-policy/>
控制 Maven 检查新快照的频率,--update-snapshots
标志强制 Maven 立即检查。 - 在 Artifactory 中,远程存储库配置中的
Retrieval Cache Period
参数控制 Artifactory 检查新快照的频率,并且在工件浏览器屏幕中对远程存储库的Zap Caches
操作确保 Artifactory 将检查用于下一次请求的新快照。
- 在 Maven 中