当前位置: 首页 > 知识库问答 >
问题:

如何在Gradle代码生成任务前编译一个Kotlin类

长孙高远
2023-03-14

我有一个通过JAXB完成从XSD到java代码生成的分级任务。但是代码生成需要一个手工的注释类(写在Kotlin上),放在项目的源目录中。在代码生成任务之前,我如何编译并放入类路径中一个这个文件?

在gradle项目中我有这样的台词:

configurations {
  jaxb
}

所以在我作为param configurations.jaxb.aspath传递的代码生成任务中,我建议必须在这个类路径中包含已编译的类

共有1个答案

羿季
2023-03-14

听起来您需要手动调用编译器(很棘手),或者简单地将注释放在子项目中,然后依赖项{jaxb project(':handmade-annotations')}

子项目可能需要plugins{id`java-library`}+通常的Kotlin设置。

或者,您可以在同一个repo中创建一个单独的小项目,构建jar并将其版本控制为libs/handmade-annotations.jar或其他内容,但我认为必要时从源代码构建它更好。

 类似资料:
  • 下面的groovy代码在脚本构建中运行良好。格拉德尔: 我不能成功地将它的语法翻译成kotlin build.gradle.kts。有人能给我正确的翻译吗?

  • 使用Gradle5.4.1,我想为一个Android应用程序构建一个CMake项目。这可以在app/build.gradle中通过以下方式完成: 本项目通过使用SWIG生成一个共享库和一些Java文件。我可以通过-djava_output_dir=generated/Java指定Java源的输出目录。 我如何迫使gradle在编译主应用程序源代码(Kotlin)之前等待CMake构建?源代码导入生

  • 我想通过Gradle运行脚本来运行任务,在编译之前运行所有任务,以自动生成运行Android应用程序的工件。 任务: 我想运行一个<代码>。cmd生成工件的文件 将生成的工件复制到Android资产文件夹 这是build.gradle模块: 因此,我想在

  • 我需要创建Gradle任务,它可以在Gradle构建之前替换.java文件。分级在.war文件中构建包应用程序。我需要在构建后替换字节码。我试过sourceSets Gradle任务,但它只能排除文件。 但我需要在同一地方也包括文件。我怎么能和Gradle在一起?

  • 生成的服务代理上的3.5.1版编译失败,错误-未报告的异常java.io。不支持的编码异常;必须被抓到或宣布被抛出 在“扔t”上生成错误的代理代码- 堆栈跟踪-

  • 问题内容: 请帮助我,如何使AngularJS编译指令生成的代码? 您甚至可以在这里找到相同的代码,http://jsbin.com/obuqip/4/edit 的HTML Java脚本 问题答案: 这是一个既不使用编译功能也不使用链接功能的版本: 请注意,模板被包装在中,因为模板需要具有一个根元素。(如果没有,它将有两个 根元素。) 需要对HTML进行少许修改以进行插值: 小提琴。