【问题标题】:Travis: Compilation error on lombok generated methodsTravis:lombok 生成方法的编译错误
【发布时间】:2016-11-29 11:43:22
【问题描述】:

我正在尝试将 CI 添加到我当前的 Spring Boot 项目中。
我在 Travis 上添加了一个版本。
它总是在 Lombok 生成的方法上出现编译错误时失败。
有什么我想念的吗?
我已经坚持了一个多星期。
我在这个分支上设置它https://github.com/madicorp/smartinvestplus-back/tree/travis
特拉维斯工作:https://travis-ci.org/madicorp/smartinvestplus-back

编辑:
我的 travis 配置

language: java
jdk:
  - oraclejdk8
env:
  - MVN_VERSION=3.3.9
cache:
    directories:
        - $HOME/.m2
install: eval mvn clean install -DskipTests=true -B -V
script: eval mvn clean install
notifications:
  webhooks:
    on_success: change  # options: [always|never|change] default: always
    on_failure: always  # options: [always|never|change] default: always
    on_start: false     # default: false

在我的 POJO 中为 lombok 生成的所有方法获取这些典型的编译错误

  symbol:   method isGenerated()
  location: variable closeRate of type  net.madicorp.smartinvestplus.stockexchange.domain.CloseRate
  [ERROR] diagnostic: /home/travis/build/madicorp/smartinvestplus-back/src/main/java/net/madicorp/smartinvestplus/stockexchange/service/CloseRateDivisionAdjuster.java:28: error: cannot find symbol
    adjustedCloseRate.setRate(closeRate.getRate());


  symbol:   method getRate()
  location: variable closeRate of type     net.madicorp.smartinvestplus.stockexchange.domain.CloseRate
 [ERROR] diagnostic: /home/travis/build/madicorp/smartinvestplus-back/src/main/java/net/madicorp/smartinvestplus/stockexchange/service/CloseRateDivisionAdjuster.java:32: error: invalid method reference
             .map(Division::getRate)

【问题讨论】:

  • 如果您发布编译错误堆栈跟踪,我会有所帮助
  • 看一下travis作业,最后出现编译错误
  • 您是否尝试过使用 maven 的 delombok 插件?
  • 我回家后会尝试,但您对为什么它不起作用有任何解释吗?我已经在 Mac 和 Windows 上成功使用了 Lombok,当我反编译类时生成的方法就在那里,我真的很想了解为什么它在 travis 环境中不起作用。因为使用 delombok 似乎是一种解决方法,并为我的构建添加了另一个步骤。

标签: java travis-ci lombok


【解决方案1】:

这最终是由于在使用 JHipster 搭建项目时,我的主 Spring Boot 类上的文件名/类大小写不匹配。
当我在 MacOS 上工作时,我在 Ubuntu VM 上发现了这个问题。
后者不关心并成功编译项目,而前者理所当然地失败了。我不得不重命名文件,所有其他问题都消失了。
最后,它们只是主 Spring Boot 类编译失败的副作用。
感谢@noscreenname 为您提供帮助。

【讨论】:

  • 看来我帮不上什么忙,但很高兴您找到了问题的原因。
  • 但这是因为我用这些 lombok 错误误导了你和我自己 :) 编译错误太多,很难在一个问题中一一列出。这就是为什么我试图找到最重要但不幸错过了根的原因。但是,感谢您花时间帮助我,我真的很感激,即使这个问题被否决了:)。
猜你喜欢
  • 2011-01-16
  • 1970-01-01
  • 1970-01-01
  • 2017-01-27
  • 2019-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多