java xml xsd jibx

java - Encuadernación en JIBX



xml xsd (2)

Hola, acabo de empezar a usar JIBX y tengo dificultades para comprender el concepto de enlace. He generado las clases de JAVA desde un archivo XSD Estoy usando Windows y así es como mis carpetas son estructuras

d: / Libraries / Esta carpeta contiene la carpeta jibx descargada para que las librerías rar como jibx-tools.jar estén en d: / Libraries / jibx / lib .....

Ahora la carpeta Bibliotecas también contiene una carpeta llamada dwcode2 Tengo un archivo XSD llamado starter.xsd en D: / Libraries / jibx / dwcode2 /

Genere los archivos JAVA usando el comando en DOS D: / Libraries / jibx / dwcode2> java -cp .. / lib / jibx-tools.jar org.jibx.schema.codegen.CodeGen -t gen / src -w starter. xsd

como resultado, los archivos JAVA se generaron en D: / Libraries / jibx / dwcode2 / gen / src / org / jibx /

y el binding.xml se generó en D: / Libraries / jibx / dwcode2 / gen / src

Ahora quiero compilar y vincular el archivo (¿podría alguien decirme por qué tenemos que compilar y vincular el XML)? Así que hice lo siguiente D: / Libraries / jibx / dwcode2 / gen / src> java -jar "D: / Java Libraries "/ jibx / lib / jibx-bind.jar binding.xml

Error: Unable to find type org.jibx.starter.Shipping; on format element at (line 3, col 66, in binding.xml)Error: Cannot find information for class org.jibx.starter.Item; on mapping element at (line 4, col 79, in binding.xml)Error: Cannot find information for class org.jibx.starter.Address; on mapping element at (line 9, col 85, in binding.xml) Error: Cannot find information for class org.jibx.starter.Customer; on mapping element at (line 17, col 87, in binding.xml)Error: Cannot find information for class org.jibx.starter.Order; on mapping element at (line 22, col 81, in binding.xml) Error: Cannot find information for class org.jibx.starter.Order; on mapping element at (line 35, col 56, in binding.xml) Error running binding compiler org.jibx.runtime.JiBXException: Binding binding.xml is unusable because of validation errors at org.jibx.binding.Utility.loadBinding(Utility.java:358) at org.jibx.binding.Utility.loadFileBinding(Utility.java:420) at org.jibx.binding.Compile.compile(Compile.java:217) at org.jibx.binding.Compile.main(Compile.java:384)

¿Alguien podría decirme qué estoy haciendo mal? Como puedo solucionar este problema ? y ¿por qué tenemos que unir?


Rajesh,

Cuando utiliza el generador de código JiBX, debe hacer tres pasos:
1. Use el generador de código para generar código Java y un archivo de enlace del esquema XML
2. Compila tu código java
3. Utilice el compilador de enlaces para modificar sus archivos de clase Java para que puedan generar un esquema XML.
No puedo ver su esquema, entonces ¿por qué no hace una prueba para ver si el problema es su esquema o sus líneas de comando?
- Coloque su esquema en un directorio vacío y ejecute estos comandos.

java -cp ../lib/jibx-tools.jar org.jibx.schema.codegen.CodeGen starter.xsd javac -cp ../lib/jibx-run.jar:. org/jibx/starter/Shipping.java java -cp ../lib/jibx-bind.jar:. org.jibx.binding.Compile binding.xml

Por supuesto, reemplazará la ruta al directorio lib con su ruta (es decir, c: / Library).

Si esto funciona, ahora puede organizar su proyecto en carpetas.

Puede encontrar la documentación completa en nuestro sitio en www.jibx.org .

Para simplificar realmente tu vida, recomendaría usar el plugin maven. La configuración es mucho más fácil.

Espero que esto ayude.

Don


Quizás tengas un error en build.xml. ¿Eres la ubicación correcta de Classpath? Abra buid.xml, vaya al campo donde está la primera línea. Mira debajo de la línea.

si es "bin", debe tener binding.xml y el paquete que contiene los archivos .class en "bin". Si está en bin / classes u otra ruta, tendrá este error porque no encontrará binding.xml así que cambie build.xml para escribir bin / classes.

Si usa eclipse, debe generar las clases, compilar, actualizar y luego ejecutar la opción bind, de lo contrario aparecerá este error.