首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到Maven导入的模块[ietf-inet]。

找不到Maven导入的模块[ietf-inet]。
EN

Stack Overflow用户
提问于 2017-05-22 20:58:25
回答 2查看 737关注 0票数 0

我安装了OpenDayLight Boron-SR3,并在/opt/odl_l3vpn/dave/api/src/main/yang中安装了一个测试YANG文件。

代码语言:javascript
复制
module DaveTest {

namespace "urn:opendaylight:params:xml:ns:DaveTest";
prefix dm;

import "ietf-inet-types" {
    prefix ietf-yang;
}

description "Dave testing file";

revision "2017-04-17" {
    description "Initial version.";
}



    container testing-vars {

            list test-list {

                    key "vpn-transaction-id";
                    unique "vpn-transaction-id";

                    leaf vpn-transaction-id {
                            type string;
                            description "Generated for the model.";
                    }

                    leaf vpn-id {
                            type string;
                            description "VPN ID for the VPN.";

                    }

            }
    }
}

当我使用'mvn干净安装-nsu‘编译文件时,我得到一个错误:

错误未能在dave项目上执行目标org.opendaylight.yangtools:yang-maven-plugin:1.0.3-Boron-SR3:generate-sources (绑定):杨到源:无法解析/opt/odl_l3vpn/dave/api/src/main/ yang:导入的模块ietf-inet。

下面是完整的堆栈:

代码语言:javascript
复制
[ERROR] Failed to execute goal org.opendaylight.yangtools:yang-maven-plugin:1.0.3-Boron-SR3:generate-sources (binding) on project dave-api: yang-to-sources: Unable to parse yang files from /opt/odl_l3vpn/dave/api/src/main/yang: Imported module [ietf-inet-types] was not found. [at META-INF/yang/DaveTest.yang:6:8] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.opendaylight.yangtools:yang-maven-plugin:1.0.3-Boron-SR3:generate-sources (binding) on project dave-api: yang-to-sources: Unable to parse yang files from /opt/odl_l3vpn/dave/api/src/main/yang
at      org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
at     org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
at     org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:191)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: yang-to-sources: Unable to parse yang files from /opt/odl_l3vpn/dave/api/src/main/yang
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.processYang(YangToSourcesProcessor.java:222)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.execute(YangToSourcesProcessor.java:95)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.conditionalExecute(YangToSourcesProcessor.java:118)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesMojo.execute(YangToSourcesMojo.java:119)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 20 more
Caused by: org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException: Imported module [ietf-inet-types] was not found. [at META-INF/yang/DaveTest.yang:6:8]
at org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException.throwIf(InferenceException.java:47)
at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.ImportStatementDefinition$1.prerequisiteFailed(ImportStatementDefinition.java:116)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl.failModifier(ModifierImpl.java:93)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext.failModifiers(SourceSpecificContext.java:294)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.addSourceExceptions(BuildGlobalContext.java:268)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.completePhaseActions(BuildGlobalContext.java:343)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.buildEffective(BuildGlobalContext.java:200)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor$BuildAction.buildEffective(CrossSourceStatementReactor.java:128)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor$BuildAction.buildEffective(CrossSourceStatementReactor.java:145)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.processYang(YangToSourcesProcessor.java:191)
... 25 more

我的pom.xml位于主目录/opt/odl_l3vpn/dave。我在“build”下添加了“ietf-inet依赖项”,但由于我对pom文件缺乏了解,可能会将其放置在错误的位置。

代码语言:javascript
复制
  <build>
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-deploy-plugin</artifactId>
    <configuration>
      <skip>true</skip>
    </configuration>
  </plugin>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <configuration>
      <skip>true</skip>
    </configuration>

    <dependencies>
      <dependency>
        <groupId>org.opendaylight.mdsal.model</groupId>
        <artifactId>ietf-inet-types</artifactId>
        <version>2010.09.24.8.5-SNAPSHOT</version>
        <type>bundle</type>
      </dependency>
    </dependencies>

  </plugin>
</plugins>

应该在哪里添加依赖项,这样我的YANG文件才能编译?或者你能给我指明正确的方向吗?提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2017-05-24 23:19:44

天哪,关于OpenDaylight的事我真的可以回答。

在日志输出中,您将看到提到了"org.opendaylight.yangtools:yang-maven-plugin".如果不对其进行配置,就会得到缺省值,这不是很多。你必须学会如何配置它。您应该能够在ODL站点上找到它的文档。如果您有YangIDE Eclipse (不幸的是它已经不再受支持了),您可以在它创建的项目中看到示例。

具体来说,我不记得语法,我认为杨依赖关系必须指定为杨maven插件配置的一部分。

票数 0
EN

Stack Overflow用户

发布于 2017-06-12 22:50:52

谢谢大卫,我做了以下几件事才能找到答案:

我从https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/mdsal/model/ietf-inet-types/2010.09.24.9.3-Boron-SR3/下载了https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/mdsal/model/ietf-inet-types/2010.09.24.9.3-Boron-SR3/并将其放在/tmp目录中。

然后,我修改了项目/api/头.xml以包含依赖信息。

然后,我在项目根目录中运行了以下命令: mvn :install -DgroupId=org.opendaylight.mdsal.model -DartifactId=inet Dversion=2010.09.24.8.5- -Dpackaging=bundle快照-Dpackaging=bundle

'mvn干净安装-nsu‘工作良好,所有的编译。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44122054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档