【问题标题】:What's this bug of maven3.3.9 while init opendaylight archetecture?初始化opendaylight架构时maven3.3.9的这个错误是什么?
【发布时间】:2017-04-20 08:00:31
【问题描述】:

我正在运行这个:

mvn archetype:generate -DarchetypeGroupId=org.opendaylight.controller -DarchetypeArtifactId=opendaylight-startup-archetype \
-DarchetypeRepository=http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ \
-DarchetypeCatalog=http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/archetype-catalog.xml

我得到了这个错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.0.1:generate (default-cli) on project standalone-pom: archetypeCatalog 'http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/archetype-catalog.xml' is not supported anymore. Please read the plugin documentation for details. -> [Help 1]

但我可以在网络上打开此链接('http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/archetype-catalog.xml')。

在我删除最后一个选项后:

mvn archetype:generate -DarchetypeGroupId=org.opendaylight.controller -DarchetypeArtifactId=opendaylight-startup-archetype \
-DarchetypeRepository=http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/

没有错误,但结果不如预期。

那么如何在maven中使用“-DarchetypeCatalog=http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/archetype-catalog.xml”呢?

谢谢~

附上资料:

gateway@gateway-20150605:~/workspace/toaster2$ mvn --version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/apache-maven
Java version: 1.8.0_121, vendor: Oracle Corporation
Java home: /usr/lib/jvm/jdk1.8.0_121/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.16.0-30-generic", arch: "i386", family: "unix"

【问题讨论】:

  • 希望你的 settings.xml 配置正确
  • 能否粘贴您的setting.xml?

标签: java maven opendaylight


【解决方案1】:

如下图配置你的settings.xml,基本上我添加了ODL repo。

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">  
    <profiles>
        <profile>
            <id>downloadSources</id>
            <properties>
                <downloadSources>true</downloadSources>
                <downloadJavadocs>true</downloadJavadocs>
            </properties>
        </profile>
        <profile>
            <id>opendaylight-release</id>
            <repositories>
                <repository>
                    <id>opendaylight-mirror</id>
                    <name>opendaylight-mirror</name>
                    <url>http://nexus.opendaylight.org/content/repositories/public/</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>never</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>opendaylight-mirror</id>
                    <name>opendaylight-mirror</name>
                    <url>http://nexus.opendaylight.org/content/repositories/public/</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>never</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>

        <profile>
            <id>opendaylight-snapshots</id>
            <repositories>
                <repository>
                    <id>opendaylight-snapshot</id>
                    <name>opendaylight-snapshot</name>
                    <url>http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>opendaylight-snapshot</id>
                    <name>opendaylight-snapshot</name>
                    <url>http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
        <profile>
            <id>maven-central-repo</id>
            <repositories>
                <repository>
                    <id>cetral-repo</id>
                    <name>maven-central-repo</name>
                    <url>http://repo1.maven.org/maven2/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>cetral-repo</id>
                    <name>maven-central-repo</name>
                    <url>http://repo1.maven.org/maven2/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>

    <activeProfiles>
        <!-- <activeProfile>maven-central-repo</activeProfile> -->
        <activeProfile>opendaylight-snapshots</activeProfile>
        <activeProfile>opendaylight-release</activeProfile>
        <activeProfile>downloadSources</activeProfile>
        <activeProfile>maven-central-repo</activeProfile>
    </activeProfiles>
</settings>

并且在archetypeCatalog 中您不提供URL,您需要提供远程、本地或内部,尽管它下面的可选是更新的mvn 命令。查看here 了解有关archetypeCatalog 参数的更多信息

mvn archetype:generate -DarchetypeGroupId=org.opendaylight.controller -DarchetypeArtifactId=opendaylight-startup-archetype -DarchetypeVersion=1.4.0-SNAPSHOT

【讨论】:

    【解决方案2】:

    尝试:

    mvn archetype:generate -DarchetypeGroupId=org.opendaylight.controller
      -DarchetypeArtifactId=opendaylight-startup-archetype \
      -DarchetypeCatalog=remote \
      -DarchetypeVersion=<whatever your version is>
    

    并使用名为 archetypes 的新 repository 调整您的 settings.xml 文件。 我在阅读 Maven 文档时发现了这一点。抱歉,我手头没有确切的指针。

    我担心 ODL 社区还没有更新他们的settings.xml,我们必须自己做。

    【讨论】:

      【解决方案3】:

      在构建项目时指定maven版本,如下:

      mvn org.apache.maven.plugins:maven-archetype-plugin:3.0.0:generate \
      -DarchetypeGroupId=org.opendaylight.controller -DarchetypeArtifactId=opendaylight-startup-archetype \
      -DarchetypeRepository=https://nexus.opendaylight.org/content/repositories/public \
      -DarchetypeCatalog=https://nexus.opendaylight.org/content/repositories/public/archetype-catalog.xml \
      -DarchetypeVersion=1.2.2-Boron-SR2
      

      【讨论】:

        猜你喜欢
        • 2019-09-19
        • 2017-06-19
        • 1970-01-01
        • 1970-01-01
        • 2012-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多