【问题标题】:Dealing with a slow build time (Gradle)处理缓慢的构建时间(Gradle)
【发布时间】:2020-06-07 08:41:47
【问题描述】:

我有一个使用 gradle 的 micronaut(1.2.5) 项目。构建时间非常缓慢。我尝试了以下方法:

org.gradle.jvmargs=-Xmx4048m -XX:MaxPermSize=1024m
org.gradle.caching=true
org.gradle.daemon=true

这似乎对构建时间没有影响。

我注意到我在启动时得到了这个日志

> Task :compileJava
Note: Creating bean classes for 539 type elements

当我的号码较小时。对于 100 等类,构建时间会更好,但随着项目的扩大,构建时间似乎会变得更糟。

我无能为力。该项目拥有的课程数量,并且在未来可能会继续增长。有没有什么方法可以在没有大的时候增加构建时间。类?

这是生成的配置文件

【问题讨论】:

  • 澄清一下,您并没有真正衡量启动时间。它看起来更像是在测量构建时间。我知道,如果您使用 Gradle 启动应用程序,那么这些应用程序会被汇总在一起,但问题中描述的项目确实是构建时间问题。
  • 我编辑了这篇文章。我实际上指的是构建时间。很抱歉造成混乱。

标签: java gradle micronaut


【解决方案1】:

您可以尝试将应用程序拆分为模块并将它们作为单独的 jar 发布。例如,在使用 Micronaut Data 时,将包含 JPA 实体和存储库的持久层移动到其自己的模块 (jar) 中,然后将其作为依赖项包含到您的 Micronaut 应用程序中。

使用这种方法,Micronaut 不得在每次构建中处理您的 JPA 实体。

Micronaut 进行提前编译,这意味着所有上下文数据(bean 定义、依赖关系连接等)都在编译时间(构建时间)创建。这意味着您在编译时(按时间)付出代价,但在运行时获得更多时间。

【讨论】:

  • “使用这种方法,Micronaut 不得在每个构建中处理您的 JPA 实体。” - 仅供参考...除非您使用 Micronaut 数据,否则 Micronaut 一开始不会对 JPA 实体进行太多处理。
猜你喜欢
  • 2020-02-23
  • 1970-01-01
  • 2020-11-12
  • 1970-01-01
  • 2017-07-25
  • 1970-01-01
  • 2022-10-25
  • 2014-03-31
  • 2015-01-22
相关资源
最近更新 更多