gpt4 book ai didi

gradle - Gradle编译未更改但由aopc修改的类的Java源代码

转载 作者:行者123 更新时间:2023-12-03 03:13:58 25 4
gpt4 key购买 nike

在我的gradle项目中,我将Java源代码编译为生成的类,然后运行自定义任务以使用JBoss aopc修改类,以插入类以实现诸如性能监控等跨 Realm 功能(方面)。

出于某种奇怪的原因,在后续的汇编任务上,这将导致编译Java源代码,即使它们的输入Java源文件均未更改。 WHat已更改为一些方面已检测到的源文件的.class文件。

Gradle调试出来说:

Executing task ':project1:compilePlafSrcJava' (up-to-date check took 1.998 secs) due to:
Output file /pkg1/Class1.class has changed.
Output file /pkg1/Class2.class has changed.
Output file /pkg1/Class3.class has changed.
All input files are considered out-of-date for incremental task ':project1:compilePlafSrcJava'.

请注意,这三个类是由javac生成后由jboss aopc检测的。

似乎如果类上的时间戳晚于相应的.java文件上的时间戳,则不应进行重新编译。我想念什么?

最佳答案

这里的问题是您正在修改编译任务的输出。 Gradle检测到其输出已被“篡改”,并希望对其进行重新生成。您有两种选择。

  • 在“compileJava”任务的doLast { }块内执行检测。
  • 将源复制到中间目录,然后对其进行检测。然后,您需要更新“jar”任务以包含此代码。
  • 关于gradle - Gradle编译未更改但由aopc修改的类的Java源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34619574/

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