对于 REST 服务环境,我正在编写 REST 服务器应用程序以及客户端库,以便在服务器和客户端使用相同的模型对象。
对于本地开发,如果我可以包含本地 Maven 存储库中的最新构建快照作为当前版本,那就太好了。
在我的 pom.xml
中,我有
<dependency>
<groupId>com.mygroup</groupId>
<artifactId>backoffice-client</artifactId>
<version>LATEST</version>
</dependency>
我的本地存储库包含版本 1.0.0-SNAPSHOT
、1.0.0
和 1.0.1-SNAPSHOT
。
本例中导入的版本是 1.0.0
,但我希望它是 1.0.1-SNAPSHOT
。
在 gradle 上,这是通过使用 compile(com.mygroup:backoffice-client:+)
来工作的。
我已经尝试在 maven 命令行上设置 -DignoreSnapshots=false
但没有成功。
如何才能从正确加载的本地存储库中获取最新快照?
最佳答案
那是因为您使用的是 SNAPSHOT 这个词,它是 Maven 的关键字。
如上所述here , Maven 对待 SNAPSHOT 限定符的方式与其他限定符不同。如果版本号后跟 -SNAPSHOT,那么 Maven 会将其视为关联的 MajorVersion、MinorVersion 或 IncrementalVersion 的“尚未发布”版本。
因此,对于 Maven 来说,“快照”并不是最新的稳定版本,而是当您告诉他获取最新版本时正在寻找的版本。
关于java - Maven 未从本地存储库加载快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51983705/