【发布时间】:2014-12-11 16:45:37
【问题描述】:
我正在使用 eclipse.aether(版本 1.0.0.v20140518)以编程方式从我的存储库中获取一些 maven 工件。为此,我使用以下代码:
Artifact artifact = new DefaultArtifact( artifactName );
ArtifactRequest artifactRequest = new ArtifactRequest().setArtifact( artifact );
repositorySystem.resolveArtifact(session, artifactRequest);
其中 artifactName 是格式为“groupId:artifactId:version”的字符串。当版本是固定版本时(如“org.myNamespace:myProject:1.0.0”)一切正常。此外,我还应该被允许用“LATEST”替换固定版本(如“org.myNamespace:myProject:LATEST”),在这种情况下,它应该在我的存储库中加载该工件的最新版本。
这也有效,但只是部分有效,这意味着它永远不会检索 SNAPSHOT 工件,而只会发布。这似乎不符合 maven 语义,因为这里也有描述 How do I tell Maven to use the latest version of a dependency?
我做错了吗?有没有办法加载工件的最新版本,无论它是发行版还是快照?
【问题讨论】:
-
只需使用
1.0.0-SNAPSHOT而不是LATEST。 -
这不起作用。如果有人部署 1.1.0-SNAPSHOT 会发生什么?