Maven正在拾取Archiva中最古老的快照-为什么?

Maven正在拾取Archiva中最古老的快照-为什么?,maven,archiva,Maven,Archiva,我有一个projectA父项,其结构如下: projectA-parent| ----------------|projectA ----------------|projectA-core ----------------|projectA-api projectA模块只是定义了对core和api的依赖关系[1],因此我可以在需要core和api的其他项目中定义对projectA的依赖关系。我将项目部署到Archiva(1.4-M2)的快照存储库中 我有另一个项目X,我在其中定义了对proj

我有一个projectA父项,其结构如下:

projectA-parent|
----------------|projectA
----------------|projectA-core
----------------|projectA-api
projectA模块只是定义了对core和api的依赖关系[1],因此我可以在需要core和api的其他项目中定义对projectA的依赖关系。我将项目部署到Archiva(1.4-M2)的快照存储库中

我有另一个项目X,我在其中定义了对projectA的依赖关系,今天下午,“mvn编译”目标由于未解决的编译问题而开始失败。在对该项目进行“mvn dependency:tree”调查后,我发现,在projectA下,对projectA core的依赖被声明为“运行时”。今天早上是这样的,我执行了几个mvn安装,因为范围是“compile”(参见[1],其中列出了最新的pom定义)

查看archiva,我看到该项目的以下文件(缩写):

有趣的是:如果我从本地的.m2/存储库中删除projectA,即使我“mvn compile-U”我也会得到08:49版本,而不是18:07版本这意味着maven或archiva正在解析当天的第一个快照,而不是最近的快照。 这是为什么?如何解决这个问题?

[1] :


com.projectA
projectA api
${project.version}
罐子
编译
com.projectA
项目A核心
${project.version}
罐子
运行时
项目的包装是什么(“
jar
”或“
pom
”)。它只存在08:49的“
jar
”人工制品


我想您已将包装更改为“
pom
”。因此,如果在其他项目中将库声明为依赖项,则必须设置
pom

噢,哇,现在我感到很尴尬。你完全正确。我忘了将X中的依赖项类型更改为pom类型!
projectA-0.0.7-20120712.084920-61-tests.jar
projectA-0.0.7-20120712.084920-61-tests.jar.md5
projectA-0.0.7-20120712.084920-61-tests.jar.sha1
projectA-0.0.7-20120712.084920-61.jar
projectA-0.0.7-20120712.084920-61.jar.md5
projectA-0.0.7-20120712.084920-61.jar.sha1
projectA-0.0.7-20120712.084920-61.pom
projectA-0.0.7-20120712.084920-61.pom.md5
projectA-0.0.7-20120712.084920-61.pom.sha1
projectA-0.0.7-20120712.172412-87-tests.jar
projectA-0.0.7-20120712.172412-87-tests.jar.md5
projectA-0.0.7-20120712.172412-87-tests.jar.sha1
projectA-0.0.7-20120712.172412-87.pom
projectA-0.0.7-20120712.172412-87.pom.md5
projectA-0.0.7-20120712.172412-87.pom.sha1
projectA-0.0.7-20120712.180733-90.pom
projectA-0.0.7-20120712.180733-90.pom.md5
projectA-0.0.7-20120712.180733-90.pom.sha1
<dependencies>
        <dependency>
            <groupId>com.projectA</groupId>
            <artifactId>projectA-api</artifactId>
            <version>${project.version}</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.projectA</groupId>
            <artifactId>projectA-core</artifactId>
            <version>${project.version}</version>
            <type>jar</type>
            <scope>runtime</scope>
        </dependency>
</dependencies>