JAXB从xsd生成java类

时间:2010-01-20 22:16:11

标签: java jaxb

  1. 在C:\ Sun \ jwsdp-1.5
  2. 下安装JAXB 1.5
  3. J2SE 1.4.2安装在C:\ j2sdk1.4.2_08
  4. 将sample.xsd文件复制到C:\ Sun \ jwsdp-1.5 \ jaxb \ bin
  5. 转到C:\ Sun \ jwsdp-1.5 \ jaxb \ bin并运行xjc.bat -p com.package sample.xsd
  6. 收到错误消息:无法识别的选项:-p                   无法创建Java虚拟机。
  7. 请帮帮我,非常感谢

3 个答案:

答案 0 :(得分:2)

此页面似乎表明xjc.bat需要Java 1.5+:

http://forums.sun.com/thread.jspa?threadID=5359378

答案 1 :(得分:2)

与java 1.4.2兼容的最后一个JAXB版本是JAXB 1.0.6。我从来没有听说过1.5版......你从哪里得到它?

修改

此错误消息不是由jaxb生成的,而是由JVM生成的。看起来,jvm认为,' - p'参数是一个jvm参数。这是another page,其中在简单java --version调用时生成了相同的错误消息。

另一个explanation表示错误。

答案 2 :(得分:0)

我遇到了类似的问题,我使用以下方法解决了这个问题。 我在安装jwsdp1.5时将Jdk1.5指定为JDK。但系统也安装了jdk1.4。所以我创建了以下批处理文件:

set JAVA_HOME=D:\apps\BEA\Weblogic\jdk150_04
set ANT_HOME=H:\Sun\jwsdp-1.5\apache-ant
set JWSDP_HOME=H:\Sun\jwsdp-1.5
set PATH=%JAVA_HOME%\bin;%PATH%;
%JWSDP_HOME%\jaxb\bin\xjc -p package -dtd sample.dtd

这解决了错误。或者,我们可以删除PATH环境变量中的Jdk1.4路径,在这种情况下,我们需要编写批处理文件。