zoukankan      html  css  js  c++  java
  • Maven-compiler-plugin 插件编译过程中报缺失get/set方法

    一般都是由于使用了lombok插件导致的

    解决方法:

    1. 首先将compiler插件版本升级到3.3以上, 查询资料发现说有可能是版本太低导致

    2. configuration中添加上annotationProcessorPaths

      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
              <version>3.8.1</version>
              <configuration>
                  <source>1.7</source>
                  <target>1.7</target>
                  <encoding>utf-8</encoding>
                  <annotationProcessorPaths>
                      <path>
                          <groupId>org.projectlombok</groupId>
                          <artifactId>lombok</artifactId>
                          <version>${lombok.version}</version>
                      </path>
                  </annotationProcessorPaths>
              </configuration>
      </plugin>
      
    3. 一般到上面就结束了, 但如果实体类中重写了构造方法, 导致缺失了空参数的构造方法, 也会出现报错:

      [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project dtlogconvert: Compilation failure
      [ERROR] ...无法将类 ...TransformRule中的构造器 TransformRul定类型;
      [ERROR]   需要: java.lang.String,java.lang.String,java.util.Map<java.lang.String,java.lang.Object>
      [ERROR]   找到: 没有参数
      [ERROR]   原因: 实际参数列表和形式参数列表长度不同
      

      这时候只需要再添加一个空参数构造方法即可:

      public class Test {
          private String name;
          
          public Test() {
          }
      
          public Test(String name) {
              this.name = name;
          }
      }
      
  • 相关阅读:
    js数字格式化(加千分位逗号)
    [css]解决iframe在ios设备上无法滚动
    判断当前是否在微信浏览器环境
    TortoiseGit 提交代码每次需要输入用户名和密码?
    如何编写jQuery插件
    函数作用域
    HTTP动词
    如何减少全局变量污染?
    mysql表大字段最大长度限制设置
    update left join 多表关联更新
  • 原文地址:https://www.cnblogs.com/yisany/p/13185953.html
Copyright © 2011-2022 走看看