尝试使用JAXB从XSD模式生成Java类时出现以下错误。 我指定了一个我希望它们在的目录,但是当我尝试运行该命令时出现以下错误。
命令:
java -jar /home/Alison/Programs/jaxb-ri-2.2.6/lib/jaxb-xjc.jar xmlSchema.xjb -d com.q1labs.qa.xmlgenerator.model.xmlclasses xmlSchema.xsd
错误:
cowardly refuses to write to a non-existent directory "com.q1labs.qa.xmlgenerator.model.xmlclasses"
我发现了下面的补丁http://jira.codehaus.org/browse/MJAXB-2,但从评论看来,它不再适用于当前版本。
有什么办法可以指定创build目录,如果它不存在?
有什么办法可以指定创建目录,如果它不存在?
简单的答案是在运行应用程序之前创建目录。 通常,如果应用程序尚不具备创建目录的能力,则无法让应用程序为您创建目录。
FWIW,一个应用程序创建“丢失”的目录通常是一个坏主意…除非用户已经指出这是需要的; 例如通过命令行选项。 原因在于“缺少”目录通常是由于用户误用路径名,或者由于当前目录与用户认为的不同。 换句话说,用户通常不希望应用程序创建“缺少”目录。
用下面的命令勉强按照我想要的方式工作:
java -jar /home/Alison/Programs/jaxb-ri-2.2.6/lib/jaxb-xjc.jar -b xmlSchema.xjb -d src -p com.q1labs.qa.xmlgenerator.model.xmlclasses xmlSchema.xsd
当我尝试在运行时生成java包和文件时,我也遇到了这个问题。 问题发生在我已经有一个在运行时创建的指定的Java包,并且我试图创建相同的jaxb类(第一次创建时,出现了一些功能错误,之后那些文件没有被删除),它说“懦弱拒绝写一个不存在的目录“雇员”“。 对我来说,问题得到解决,当我手动删除已经创建的包,之后,它工作正常。