XMLBEANS实践——自动化XML和Java之间的数据交换(一)

来源:互联网 发布:c语言数据结构有哪些 编辑:程序博客网 时间:2024/04/29 13:45
安装XMLBEANS
我希望这部分内容能解决你在安装XMLBEANS时遇到的一些问题,即使不是所有的。XMLBEANS的安装有点难搞定,而且我认为大多数人安装时都会碰到问题,我也不例外。
XMLBEANS(我用的是2.0.0-beta1)二进制安装包,按惯例也包括bin, docs, lib等目录。并且像安装其他的java工具一样你也要设置你的“path”和“classpath”。但是设置完之后我想90%的人都不能准确的运行XMLBEANS。这里有一些问题要注意而且我也希望你碰到的问题列在下面了(OS:WIN XP SP2):
  • 关于你的JDK目录。我的JDK目录是在“Program Files”目录下。当我用“scomp...“命令在命令行窗口运行XMLBEANS时,出现了像这样的错误信息:‘E:/program’既不是内部命令或外部命令,也不是可执行程序或批处理文件。这条错误信息让我想起了在我以前安装Weblogic 8.1时看到的注意信息:不要在你的weblogic路径中留任何空白,因为那可能导致严重的错误。因为XMLBEANS和Weblogic都是BEA开发的。所以我把我的JDK目录移到了我一个分区的根目录下。
  • 关于你的”PATH“环境变量。但我认为我就要成功的时候,事实又一次让我失望。但我运行“scomp...“时,XMLBEANS抛出了IOException,并有诸如此类的错误信息:

javac' is required on the path.
java.io.IOException : CreateProcess: c:/xmlbeans-1.0.2/schemas/javac @c:/DOCUME~1/alex/LOCALS~1/Temp/javac20992 error=2
null
java.io.IOException: CreateProcess: c:/xmlbeans-1.0.2/schemas/javac @c:/DOCUME~1/alex/LOCALS~1/Temp/javac20992 error=2

这次我查阅了在 http://wiki.apache.org/xmlbeans/XmlBeansV1Faq#scompFindingJavac 的FAQ。我按照里面说的建议,但是我在scomp脚本(bin目录下)里面找不到”JAVA_HOME“。可能那是针对老版本的XMLBEANS的,信息没有更新。之后,里面的另一则消息解决了我的问题。当JAVA程序寻找JAVA路径时,在JRE和JDK之间是有优先级的。默认情况下前者先被找到。所以我把JDK目录放到了PATH环境变量的最前面。
  • 关于你的”XMLBEANS_LIB“。官方的安装向导中并没有提到这个。我在scomp脚本里面找到的。所以我增加了一个新的环境变量:XMLBEANS_LIB,指向我的LIB目录。

在这三个步骤之后,我现在能用XMLBEANS处理XML Schema文件了。另外,我纳闷,为什么BEA不把它弄的容易安装一点呢,就像其他的java工具,难道要考察别人使用他们工具的耐心吗:p

即将发布:XMLBEANS实践——自动化XML和Java之间的数据交换(二):使用XMLBEANS