gpt4 book ai didi

java - 我可以使用 Java 6 Annotation Processors/JSR 269 在 Maven 中为 GWT 生成代码吗?

转载 作者:行者123 更新时间:2023-11-30 03:51:28 25 4
gpt4 key购买 nike

由于 GWT 严格工作于 Java 代码,并且注释处理器/JSR 269 也生成 Java 代码,因此在 Maven,让 javac 使用注释处理器处理文件,并将生成的 Java 源代码保存在某处,以便 GWT 可以自己使用它,从而节省了重现注释处理器实现的工作在GWT 生成器中?

根据this question ,假设答案仍然相关,最好使用 maven-processor-plugin来处理注释。文档说您可以指定一个“outputDirectory”。和this question说您应该使用 maven-resources-plugincopy-resources 目标来使源代码可供 GWT 使用。

假设所有这些都是正确的,我的问题是:你如何告诉 Maven,它应该使用 javac 编译代码,并运行其他(maven-processor-plugin/maven-resources-plugin)插件在运行“GWT Maven 插件”之前? (或者出于某种原因,这总是会按这个顺序发生?)

最佳答案

配置 Maven 构建的方法有很多。以下是其中的一些:

  • 让maven-compiler-plugin来处理Java编译和注解处理,配置为output the generated sources除了编译它们之外。然后使用build-helper-maven-plugin add the generated sources directory to the project sources (或资源)供 gwt-maven-plugin 稍后使用。这意味着 build-helper-maven-plugin 必须在 compile 之间运行和prepare-package阶段。

  • 使用 maven-processor-plugin 运行注释处理器并输出生成的源,并确保它们是 added to the project sources 。然后使用 <proc>none</proc> 禁用 maven-compiler-plugin 的注释处理.

  • 使用 maven-compiler-plugin 两次:一次运行注释处理器(使用 <proc>only</proc> ),一次编译文件(使用 <proc>none</proc> )。基本上,第一次执行相当于使用maven-processor-plugin。

您不需要使用 resources:copy-resources .

关于java - 我可以使用 Java 6 Annotation Processors/JSR 269 在 Maven 中为 GWT 生成代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24345920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com