¿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>
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 claseYangIoUtils
, lo que sugiere que el compilador tiene problemas para ubicar o leer los archivos YANG en el directoriosrc/main/yang
.Aquí hay algunas cosas que revisar:
src/main/yang
) y que sus nombres de archivo y extensiones sean correctos (.yang
).yangFilesDir
en el archivopom.xml
coincida con el directorio que contiene los archivos YANG:<yangfilesdir>src/main/yang</yangfilesdir>
.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ón1.9
, pero no se especifica la versión de ONOS que usa. Verifique la documentación de ONOS para asegurarse de la compatibilidad.pom.xml
. El mensaje de error mencionaonos-api
yorg.apache.felix.scr
, así que asegúrese de que estén incluidos en su sección dedependencias
y tengan los números de versión correctos.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!