在 gradle 中,如何从 wsdl 生成库 jar 而不是生成源代码?

In gradle, how can I generate library jar from wsdl instead of generating source code?

我有一些 wsdl 文件。目前我正在使用 wsimport 命令生成相关的源代码文件并将它们包含到我的项目中然后 git。但是我不需要我的 git 存储库来处理生成的文件。我只需要将所有这些生成的文件打包到一个库 jar 中,然后将其推送到 git。

我不会将生成的文件提交给 git。我将它们放在 $buildDir 下,以便通过 "clean" 任务删除它们。然后,您需要将您的任务连接到任务图中,并将源目录添加到主 SourceSet。例如:

apply plugin: 'java-library' 
task generateJava {
   // configure task inputs/outputs to benefit from up-to-date skipping 
   inputs.dir 'path/to/wsdl'
   outputs.dir "$buildDir/generated/java"
   doLast {
      // Use wsimport to read wsdl and write java files to the output directory 
   } 
} 

// add generated directory to the main SourceSet 
sourceSets.main.java.srcDir "$buildDir/generated/java"

// wire the task into the task graph 
compileJava.dependsOn generateJava