首页 > 解决方案 > 在 gradle 中,如何从 wsdl 生成库 jar 而不是生成源代码?

问题描述

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

标签: gradlewsdl

解决方案


我不会将生成的文件提交给 git。我会将它们放在 $buildDir 下,以便通过“清理”任务将它们删除。然后,您需要将您的任务连接到任务图中,并将源目录添加到主 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

推荐阅读