您好我刚刚开始使用JIBX,我很难掌握Binding概念。我从XSD文件生成了JAVA类 我正在使用Windows,这里是我的文件夹是结构
d:\库\ 这个文件夹包含下载的jibx文件夹,所以像jibx-tools.jar这样的rar库就在 d:\库\的JiBX \ lib中.....
现在Libraries文件夹还包含一个名为dwcode2的文件夹 我有一个名为starter.xsd的XSD文件 d:\库\的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:\库\的JiBX \ dwcode2 \根\ SRC \有机\的JiBX \
并且生成了binding.xml d:\库\的JiBX \ dwcode2 \根\ 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)
有谁能告诉我我做错了什么?我该如何解决这个问题?为什么我们必须绑定??
答案 0 :(得分:3)
拉杰什,
使用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
当然,您将使用您的路径替换lib目录的路径(即,c:\ Library)。
如果这样做,现在您可以将项目整理到文件夹中。
您可以在我们的网站www.jibx.org找到完整的文档。
为了真正简化您的生活,我建议您使用maven插件。配置更容易。
我希望这会有所帮助。
唐
答案 1 :(得分:0)
build.xml上可能有错误。你的类路径位置是否正确?打开buid.xml,转到第一行所在的字段。看看下线。
如果是“bin”,则必须具有binding.xml和包含“bin”中的.class文件的包。如果它位于bin / classes或其他路径中,则会出现此错误,因为它找不到binding.xml,因此请更改build.xml以写入bin / classes。
如果使用eclipse,则必须生成类,编译,刷新然后执行bind选项,否则会出现此错误。