我有一个要求,我的前端屏幕在运行时创建一个XSD。
之后,我需要为相同的创建 Java 类,然后将其压缩到 war 文件中。所有这些都需要在运行时和 JVM 中完成。
我对此进行了研究,发现xjc( xjc-p foo myschema.xsd ) 工具命令。不幸的是,该工具似乎无法从我的 java 应用程序内部运行。
有一个Process API可以从Java运行该工具,但我认为这将使它依赖于操作系统。
请帮助我。
我需要在运行时从 XSD 生成 Java 源代码或直接二进制文件(类文件),并将其打包到 EAR。
您绝对可以从 Java 程序运行该工具,就像任何其他应用程序都可以通过这种方式调用一样。
您甚至可以在exec
使用Process
时提供当前工作目录。
只要您不执行任何依赖于操作系统的操作,那么您就不会使您的应用程序依赖于操作系统。这在提供路径时尤其重要。如果它们是相对的,则使用 Linux 样式的路径(并避免路径中的空格)以保持安全。
完成此操作后,您可以将*.java
和*.class
文件分组,并使用常规Java工具对它们进行Jar处理。从那里,您可以使用一些 API 将 EAR 加载到 Java EE 环境中。