相关疑难解决方法(0)

以编程方式将WsImport与没有Maven或ANT的JAXB插件一起使用?

WsImport用来从远程WSDL文件生成一些Java源代码.请注意,这是来自常规Scala项目,即它不是在Maven或Ant构建中完成的:

import com.sun.tools.ws.WsImport

def run(wsdlFile: File, destination: File, packageName: String = "generated"): Seq[File] = {        
  sys.props("javax.xml.accessExternalDTD") = "all"
  sys.props("javax.xml.accessExternalSchema") = "all"
  val xjcArgs = "" //TODO
  val args = s"-Xnocompile -XadditionalHeaders $xjcArgs -J-Djavax.xml.accessExternalDTD=all -b http://www.w3.org/2001/XMLSchema.xsd -p $packageName -s $destination $wsdlFile"
  WsImport.doMain(args.split(' '))
}
Run Code Online (Sandbox Code Playgroud)

上面的代码工作得很好,我用它从上面的Scala代码以编程方式生成Java WSDL客户端.

但是,现在,我还想使用一些WsImport插件(例如thisthis):

val xjcArgs = "-B-Xequals -B-XhashCode -B-Xvalue-constructor"
Run Code Online (Sandbox Code Playgroud)

我收到此错误:no such JAXB option: -Xequals即使我将以下内容添加到我的类路径中:

"org.jvnet.jaxb2_commons" % "jaxb2-basics" % "1.11.1",
"org.jvnet.jaxb2_commons" % "jaxb2-value-constructor" % "3.0",
Run Code Online (Sandbox Code Playgroud)

如何强制WsImport使用这些插件?或者我是否直接使用除WsImport(如ANT)之外的其他工具?

尝试使用ANT

我在com.sun.tools.ws.WsImport上面使用,但也有另一个 …

java jaxb jaxb2 wsimport jaxb2-basics

11
推荐指数
1
解决办法
1732
查看次数

标签 统计

java ×1

jaxb ×1

jaxb2 ×1

jaxb2-basics ×1

wsimport ×1