Maven 2 分类器在Maven Snapshot repo for IVY中不起作用

Maven 2 分类器在Maven Snapshot repo for IVY中不起作用,maven-2,ivy,Maven 2,Ivy,因此,我的Maven构建将Java5和Java6版本部署到快照repo(Nexus)中。我使用构建概要文件和分类器来实现这一点。凡事都有好的一面 然而,如果我试图从基于常春藤的项目中解决Java5依赖关系,那么如果最近的Maven部署是针对Java6概要文件/分类器的,那么它将不起作用。我想这是因为maven metadata.xml中的时间戳选择了Java6版本。如果最近的部署是针对Java5的,那么它确实可以工作 这是解析程序: <ibiblio name="snapshot-repo

因此,我的Maven构建将Java5和Java6版本部署到快照repo(Nexus)中。我使用构建概要文件和分类器来实现这一点。凡事都有好的一面

然而,如果我试图从基于常春藤的项目中解决Java5依赖关系,那么如果最近的Maven部署是针对Java6概要文件/分类器的,那么它将不起作用。我想这是因为
maven metadata.xml
中的时间戳选择了Java6版本。如果最近的部署是针对Java5的,那么它确实可以工作

这是解析程序:

<ibiblio name="snapshot-repo-name"
                 m2compatible="true"
                 root="snapshot-repo-root"
                 pattern="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"
                 usepoms="true"
                 checkmodified="true"
                 changingPattern=".*SNAPSHOT"/>


因此,部署依赖项的Java6会破坏常春藤构建的应用程序的构建。

是解决方案失败还是检索失败?(检索执行隐式解析)

我的构建曾经失败,因为以下模式不是唯一的(需要名称模式中的分类器来满足源代码和javadoc工件):


解决方法是在
元素中将Maven快照标记为非唯一版本。也就是说,Maven快照存储库中不再有时间戳版本

<distributionManagement>
    <repository>
        <id>PROJECT-RELEASE</id>
        <name>PROJECT-RELEASE</name>
        <url>http://foo.bar:8081/nexus/content/repositories/PROJECT-RELEASE</url>
    </repository>
    <snapshotRepository>
        <id>PROJECT-SNAPSHOT</id>
        <name>PROJECT-SNAPSHOT</name>
        <uniqueVersion>false</uniqueVersion>
        <url>http://foo.bar:8081/nexus/content/repositories/PROJECT-SNAPSHOT</url>
    </snapshotRepository>
</distributionManagement>

项目发布
项目发布
http://foo.bar:8081/nexus/content/repositories/PROJECT-释放
项目快照
项目快照
假的
http://foo.bar:8081/nexus/content/repositories/PROJECT-快照
false不适用于maven 3
<distributionManagement>
    <repository>
        <id>PROJECT-RELEASE</id>
        <name>PROJECT-RELEASE</name>
        <url>http://foo.bar:8081/nexus/content/repositories/PROJECT-RELEASE</url>
    </repository>
    <snapshotRepository>
        <id>PROJECT-SNAPSHOT</id>
        <name>PROJECT-SNAPSHOT</name>
        <uniqueVersion>false</uniqueVersion>
        <url>http://foo.bar:8081/nexus/content/repositories/PROJECT-SNAPSHOT</url>
    </snapshotRepository>
</distributionManagement>