如何从XSD文件创建一个Jar文件

4
如何创建一个包含从给定的xsd文件生成的类文件的jar文件?我们需要从xsd创建所有java文件,然后编译并创建jar吗?或者,还有其他解决方案。请问有人能解释一下这个过程吗?

为什么需要为静态文件XSD创建Java档案文件?您试图做什么? - aviad
这是我们的项目相关内容。我们需要创建一个JAR文件并交付它。 - Shreyos Adikari
1
在C#.NET中,我们使用xsd文件来生成类,这可能是初学者想要实现的内容。 - Viezevingertjes
好的,所以我们需要先创建Java文件,然后需要制作jar文件。 - Shreyos Adikari
1
@bobah,你发布的命令不会创建文件,而是将输出发送到STDOUT。请阅读文档http://docs.oracle.com/javase/tutorial/deployment/jar/build.html的第5行。 - aviad
显示剩余2条评论
3个回答

9
如果您不使用maven生成jar包,可以按照以下步骤操作:
  1. 将xsd文件复制到一个文件夹中。例如:Test.xsd。

  2. 在命令提示符中进入该文件夹,然后输入以下命令:

    xjc Test.xsd

或者您可以使用以下命令:

xjc -p test Test.xsd

这将从xsd文件中创建所有Java文件,并将其保存在名为generated(默认)或test的文件夹中。

  1. 在命令提示符中输入以下命令:

    javac generated/*

    这将创建所有Java文件的类文件。

  2. 最后,在命令提示符中输入以下命令:

    jar cvf test.jar generated/*

    这将创建包含所有类的jar文件。


3
我猜你想从XSD创建Java类,用于之后的XML<->POJO映射。我说得对吗?
如果是这样的话 - 这取决于你使用的映射库。假设你正在使用JAXB 2。最简单的方法是使用XJC Maven插件,就像这里一样:http://mojo.codehaus.org/xjc-maven-plugin/usage.html,然后Maven将打包所有内容到JAR中。

如果您需要在 JAR 中提供 Java 类,则基本上是这样的。清楚吗? - Piotr Gwiazda
链接已失效,请发布更新后的网址,或者将所需信息转录下来,此时这个“答案”毫无用处。 - mpop

2
  1. 将您的xsd文件放在某个目录中(例如称为资源)

  2. 在命令行中导航到资源目录所在的目录。

  3. 运行jar cf jar-file %input-file_name%(input-file-name在您的情况下为“资源”)

在此处阅读更多信息:链接

我相信有更优雅的方法来发送静态内容(即xsd),但是您不希望透露您的目标,因此这就是您创建jar的方式。

祝好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接