gpt4 book ai didi

java - JIBX 中的绑定(bind)

转载 作者:行者123 更新时间:2023-12-02 00:23:31 26 4
gpt4 key购买 nike

您好,我刚刚开始使用 JIBX,但我很难掌握绑定(bind)概念。我已经从 XSD 文件生成了 JAVA 类我使用的是 Windows,这是我的文件夹的结构

d:\库\该文件夹包含下载的 jibx 文件夹,因此像 jibx-tools.jar 这样的 rar 库位于d:\Libraries\jibx\lib.....

现在 Libraries 文件夹还包含一个名为 dwcode2 的文件夹我有一个名为 starter.xsd 的 XSD 文件D:\Libraries\jibx\dwcode2\

我在DOS下使用命令生成了JAVA文件D:\Libraries\jibx\dwcode2>java -cp ..\lib\jibx-tools.jar org.jibx.schema.codegen.CodeGen -t gen\src -w starter.xsd

结果生成了JAVA文件D:\Libraries\jibx\dwcode2\gen\src\org\jibx\

并且绑定(bind).xml 是在以下位置生成的D:\Libraries\jibx\dwcode2\gen\src

现在我想编译并绑定(bind)该文件(谁也可以告诉我为什么我们必须编译并绑定(bind) XML )所以我做了以下事情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)

有人可以告诉我我做错了什么吗?我该如何解决这个问题?为什么我们必须绑定(bind)??

最佳答案

拉杰什,

当您使用JiBX代码生成器时,您需要执行三个步骤:
1. 使用代码生成器从 XML 模式生成 java 代码和绑定(bind)文件
2. 编译你的java代码
3. 使用绑定(bind)编译器修改您的 java 类文件,以便它们可以生成 XML 模式。
我看不到您的架构,那么您为什么不进行测试来看看问题是您的架构还是您的命令行:
- 将您的架构放在空目录中并运行这些命令。

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

当然,您将用您的路径替换 lib 目录的路径(即 c:\Library)。

如果这有效,现在您可以将项目组织到文件夹中。

您可以在我们的网站上找到完整的文档:www.jibx.org .

为了真正简化您的生活,我建议使用 Maven 插件。配置更加容易。

我希望这会有所帮助。

关于java - JIBX 中的绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10467779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com