嗨,我刚刚开始使用JIBX,但是我很难理解Binding概念。我已经从XSD文件生成了JAVA类
我正在使用Windows,这是我的文件夹的结构

d:\ Libraries \
该文件夹包含下载的jibx文件夹,因此rar库(例如jibx-tools.jar)位于
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

结果是在
D:\ Libraries \ jibx \ dwcode2 \ gen \ src \ org \ jibx \

然后在中生成binding.xml
D:\ Libraries \ jibx \ dwcode2 \ gen \ src

现在我想编译并绑定文件(有人可以告诉我为什么我们必须编译并绑定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)


谁能告诉我我在做什么错?我该如何解决这个问题?以及为什么我们必须绑定?

最佳答案

拉杰什,

使用JiBX代码生成器时,需要执行三个步骤:
1.使用代码生成器从XML模式生成Java代码和绑定文件
2.编译您的Java代码
3.使用绑定编译器修改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


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

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

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

为了真正简化您的生活,我建议您使用maven插件。配置要容易得多。

我希望这有帮助。

10-04 23:04
查看更多