当我尝试在本地存储库中安装maven项目时,我注意到pom
和jar
文件具有。上次更新的
扩展名。由于这个问题,我无法构建依赖它的项目。
你能解释一下为什么会这样吗?
当您引用Maven Repository下列出的工件时,也可能发生这种情况,但实际上并不存在。例如,以下Exasol工件列在Maven Repository下,但有一个小的旁注说明:
注意:此工件位于Exasol存储库中(https://maven.exasol.com/artifactory/exasol-releases/)
这意味着您需要在pom中单独添加另一个存储库(在本例中为Exasol)作为源。xml
文件:
<!-- add the dependency as mentioned in maven website -->
<dependencies>
<dependency>
<groupId>com.exasol</groupId>
<artifactId>exasol-jdbc</artifactId>
<version>6.2.1</version>
</dependency>
</dependencies>
<!-- add the actual repository which unfortunately isn't mentioned in maven website -->
<repositories>
<repository>
<id>maven.exasol.com</id>
<url>https://maven.exasol.com/artifactory/exasol-releases</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
我在这里找到了答案:
当无法html" target="_blank">下载工件时,Maven 3将此结果缓存在"~/. m2/repo/.../.lastUpdated”文件。对于“找不到”的情况,HTTP代码似乎可以用于更细粒度地重新尝试检索,而不仅仅是缓存失败。例如,对于任何404,我同意,结果应该缓存失败,并要求-U再次尝试检索它。然而,对于400, 500, 501, 502, 503, 301, 302(今天3xx的Maven行为是什么?)我认为分辨率引擎应该尝试每次重新检索工件。有了这些错误代码,似乎更有可能是配置问题或短暂的网络问题,而不是回购文件中没有一个文件。然而,这个短暂的网络问题具有长期的缓存含义,因为再也不会尝试检索文件了。
问题内容: 是否有任何预先存在的Maven插件或命令来更新POM中的依赖关系?示例:(如果这是在我的POM中) 有没有可以运行的命令或插件来将依赖关系更新为: 问题答案: 尝试使用maven-versions-plugin,尤其是versions:use-latest-versions目标。
MVNRepository通常为每个依赖项列出“版本”和“更新”。 如果我发布自己的包,如何指定“更新”版本 Maven在解决传递依赖时使用了哪个依赖项?所以如果我的包依赖于包A,它依赖于包B,版本=1.0,更新=1.1。我会得到哪个版本的B?
我试图在maven项目中使用外部库。由于我希望在任何机器上构建项目,所以我不希望使用 存储库(当依赖项在本地< code>.m2存储库中不可用时工作)结合工作,并且第二部分在每次构建期间刷新< code>.m2。 但是,我仍然不清楚为什么普通的“快照”机制不起作用(即,当前的脏解决方案在没有快照的情况下也能工作,因为本地< code>.m2 repo每次都显式更新)。有没有更干净的方法? 解决方案
我的pom.xml如下所示: 有人能帮我吗?
我所处的环境是,可以将同名jar文件的多个版本发布到本地Nexus安装。这些jar文件始终命名为XYZ-SNAPSHOT。罐子我们的持续集成系统需要始终获取最新版本,因此我们的自动构建当前包含以下内容,以消除持续集成机器上的完整本地回购: mvn依赖项:清除本地存储库 这将强制在每个构建上下载所有依赖项,这将花费很长时间。是否有某种方法可以将“includes”标志与通配符一起使用。我可以这样假设
扩展说明 RPC 协议扩展,封装远程调用细节。 契约: 当用户调用 refer() 所返回的 Invoker 对象的 invoke() 方法时,协议需相应执行同 URL 远端 export() 传入的 Invoker 对象的 invoke() 方法。 其中,refer() 返回的 Invoker 由协议实现,协议通常需要在此 Invoker 中发送远程请求,export() 传入的 Invoker