我想使用.wsdl
将%JAVA_HOME%/bin/wsimport.exe
- 文件导入到我的Java项目中。一切都很好,除了评论的语言是德语,但我希望它是英语。如何更改wsimport.exe
使用的语言?
答案 0 :(得分:1)
不,这个问题的作者没有错。似乎wsimport从操作系统中获取语言。在我们的项目中,我们的机器具有德语和英语设置。代码是相应生成的:
英文机器:
/**
* <p>Java class for abstractRequest complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
德国机器:
/**
* <p>Java-Klasse für abstractRequest complex type.
*
* <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
正如这个问题的回答中所提到的How to change javadoc comments language when generate java from wsdl with CXF wsdl2java? 语言可以在命令行中设置,如
-Duser.language=en
答案 1 :(得分:0)
我觉得你错了。 Javadoc内容只不过是Java源代码中的汇编信息。
当您的Javadoc HTML包含德语内容时 - 因为人们已经将德语文本写入了java源代码。你不能只改变导入过程 - 你必须找到一个将德语文本翻译成英文的人!
答案 2 :(得分:0)
对于 Oracle JDK 8 ,可以直接调用WsImport
类,并通过将Locale
设置为所需的语言来配置生成的注释的语言( Web服务工具已在Java 11中删除。
Locale.setDefault(new Locale("en"));
List<String> args = new Arraylist<>();
// add other options
args.add(wsdlFile.getAbsolutePath());
com.sun.tools.internal.ws.WsImport.doMain(args.toArray(new String[0]));
答案 3 :(得分:0)
使用Apache CXF的另一种替代方法,希望可以为将来提供更多证明:
Locale.setDefault(new Locale("en"));
// options: https://cxf.apache.org/docs/wsdl-to-java.html
List<String> args = new ArrayList<>();
args.add("-suppress-generated-date");
args.add("-d");
args.add(new File("src/main/java").getAbsolutePath());
args.add("-p");
args.add("com.company.targetpackage");
args.add(new File("sample.wsdl").getAbsolutePath());
WSDLToJava wsdlToJava = new WSDLToJava();
wsdlToJava.setArguments(args.toArray(new String[0]));
wsdlToJava.run(new ToolContext());
使用以下Maven依赖项:
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.2</version>
</dependency>