Java JIBX中的绑定

Java JIBX中的绑定,java,xml,xsd,jibx,Java,Xml,Xsd,Jibx,嗨,我刚开始使用JIBX,我很难理解绑定的概念。我已经从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:\

嗨,我刚开始使用JIBX,我很难理解绑定的概念。我已经从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\

而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目录的路径

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

您可以在我们的网站上找到完整的文档

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

我希望这有帮助

拉杰什

使用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目录的路径

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

您可以在我们的网站上找到完整的文档

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

我希望这有帮助


Don

build.xml上可能有错误。您的类路径位置正确吗?打开buid.xml,进入第一行所在的字段。看下面的线

如果是“bin”,则必须在“bin”中包含binding.xml和包含.class文件的包。如果它位于bin/classes或其他路径中,则会出现此错误,因为它找不到binding.xml,所以将build.xml更改为write bin/classes


如果使用eclipse,则必须生成类、编译、刷新,然后执行绑定选项,否则会出现此错误。

build.xml上可能有错误。您的类路径位置正确吗?打开buid.xml,进入第一行所在的字段。看下面的线

如果是“bin”,则必须在“bin”中包含binding.xml和包含.class文件的包。如果它位于bin/classes或其他路径中,则会出现此错误,因为它找不到binding.xml,所以将build.xml更改为write bin/classes


如果使用eclipse,则必须生成类、编译、刷新,然后执行绑定选项,否则会出现此错误。

hmm好的。现在我有3个java类,比如A、B和C。我分别为A和B生成了.class文件,但是当我试图生成class文件时,我得到一个错误,指向C类中使用的class B和C的行。所以问题是,因为class C使用class A和B,所以我很难为这个类生成class文件。目前我正在使用命令“javac example24/example/C.java”嗯,好的。现在我有3个java类,比如A、B和C。我分别为A和B生成了.class文件,但是当我试图生成class文件时,我得到一个错误,指向C类中使用的class B和C的行。所以问题是,因为class C使用class A和B,所以我很难为这个类生成class文件。目前我正在使用命令“javac example24/example/C.java”