es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo usar el compilador YANG para convertir YANG a Java?

Estoy intentando generar código Java a partir de Yang utilizando el compilador ONOS YANG. Estoy siguiendo las instrucciones del Wiki para compilar, pero obtengo errores de compilación y no puedo generar código Java a partir de Yang.

Enlace al Wiki: YANG Compiler

A continuación se muestra el mensaje de error.

• Versión:

$ mvn -version
Apache Maven 3.8.2 (ea98e05a04480131370aa0c110b8c54cf726c06f)
Maven home: C:\tools\apache-maven-3.8.2
Java version: 1.8.0_202, vendor: Oracle Corporation, runtime: C:\pleiades\java\8\jre
Default locale: ja_JP, platform encoding: MS932
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
$ java -version
java version "1.8.0_311"
Java(TM) SE Runtime Environment (build 1.8.0_311-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.311-b11, mixed mode)

• pom.xml:
“`

<modelversion>4.0.0</modelversion>

<groupid>jp.co.test</groupid>
<artifactid>test_yang</artifactid>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<properties>
    <project.build.sourceencoding>UTF-8</project.build.sourceencoding>
    <project.reporting.outputencoding>UTF-8</project.reporting.outputencoding>
    <java.version>1.8</java.version>
    <maven.compiler.target>${java.version}</maven.compiler.target>
    <maven.compiler.source>${java.version}</maven.compiler.source>
</properties>

<dependencies>
    <dependency>
        <groupid>org.onosproject</groupid>
        <artifactid>onos-yang-maven-plugin</artifactid>
        <version>1.9</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.onosproject/onos-api -->
    <dependency>
        <groupid>org.onosproject</groupid>
        <artifactid>onos-api</artifactid>
        <version>2.6.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.scr -->
    <dependency>
        <groupid>org.apache.felix</groupid>
        <artifactid>org.apache.felix.scr.annotations</artifactid>
        <version>1.12.0</version>
    </dependency>

</dependencies>

<build>
    <plugins>
        <plugin>
            <groupid>org.onosproject</groupid>
            <artifactid>onos-yang-maven-plugin</artifactid>
            <version>1.9</version>
            <executions>
                <execution></execution></executions></plugin></plugins></build></project>
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Basándonos en el mensaje de error y en la información proporcionada, parece que el Compilador YANG tiene problemas con la ruta del archivo o la estructura del directorio. Específicamente, el mensaje de error menciona un problema con el método getDirectory de la clase YangIoUtils, lo que sugiere que el compilador tiene problemas para ubicar o leer los archivos YANG en el directorio src/main/yang.

    Aquí hay algunas cosas que revisar:

    • Asegúrese de que los archivos YANG estén ubicados en el directorio correcto (src/main/yang) y que sus nombres de archivo y extensiones sean correctos (.yang).
    • Verifique que la configuración yangFilesDir en el archivo pom.xml coincida con el directorio que contiene los archivos YANG: <yangfilesdir>src/main/yang</yangfilesdir>.
    • Verifique que la versión del complemento de Maven onos-yang-maven-plugin sea compatible con la versión de ONOS que está utilizando. Según el mensaje de error, está utilizando la versión 1.9, pero no se especifica la versión de ONOS que usa. Verifique la documentación de ONOS para asegurarse de la compatibilidad.
    • Verifique que las dependencias necesarias estén configuradas correctamente en el archivo pom.xml. El mensaje de error menciona onos-api y org.apache.felix.scr, así que asegúrese de que estén incluidos en su sección de dependencias y tengan los números de versión correctos.
    • Verifique que tenga Maven y Java correctamente instalados y que sus versiones sean compatibles con las dependencias requeridas.

    Si ninguna de las sugerencias anteriores resuelve el problema, puede ser útil buscar ayuda adicional de la comunidad de ONOS o probar un compilador YANG diferente. ¡Buena suerte!

Comments are closed.