gpt4 book ai didi

java - 如何在 xjc 命令行上使用 JAXB 扩展

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:20:15 28 4
gpt4 key购买 nike

我正在处理相关问题 here ,但我有一个单独的问题。也许这都是同一个问题的一部分,但看起来有所不同。

由于我在通过 Ant 任务和外观运行 XJC 时遇到问题,我现在尝试使用 JDK 的命令行“xjc”工具运行它。

在最初的问题中,我尝试使用“Element Wrapper”和“Fluent API”扩展,所以我的命令行如下:

xjc -extension  -classpath "lib/jaxb-fluent-api-2.1.8.jar;lib/jaxb-xew-plugin-1.4.jar" -Xxew -summary target/xew-summary.txt -instantiate lazy -Xfluent-api schema/serviceCallResults.xsd

这些基本上与我发送到“cxf-jaxb-plugin”Maven 插件的参数相同,该插件已经运行了很长时间。不幸的是,这个“xjc”命令行失败了:

unrecognized parameter -Xxew

这里可能出了什么问题?

最佳答案

这行不通,抱歉。

XJC 插件必须扩展 com.sun.tools.xjc.Plugin 类。但是包含在 JDK 中并作为 xjc 二进制文件(例如 Windows 下的 xjc.exe)的 XJC 被重新打包:com .sun.tools.xjc -> com.sun.tools.internal.xjc.

所以在普通命令行 xjc 中你没有 com.sun.tools.xjc.Plugin 类(XJC 插件扩展)但是 com .sun.tools.internal.xjc.Plugin.

所以 CLI xjc 不能与 XJC 插件一起使用。唯一仍然有效的插件是那些也被重新打包的插件。 (例如 com.sun.tools.internal.xjc.addon.code_injector.PluginImpl。)

如果你想要命令行,那么尝试找出 java -cp ... 参数,这是让它与第三方 XJC 插件(如 XEW 或 JAXB2-Basics)一起工作的唯一方法.

关于java - 如何在 xjc 命令行上使用 JAXB 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28145306/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com