@RequiredArgsConstructor上的Javadoc错误(onConstructor = @ __(@Inject))

时间:2016-02-19 02:11:36

标签: java lombok

我正在尝试使用JDK 8为使用lombok的一堆代码生成javadoc。

我收到以下错误:

Mono.Data.Sqlite.dll.config

如何解决上述错误,我们将非常感谢您的建议。

更新:使用如下配置的maven javadoc插件发生错误:

error: cannot find symbol
[ERROR] @RequiredArgsConstructor(onConstructor=@__(@Inject))
[ERROR] ^
[ERROR] symbol: class __

2 个答案:

答案 0 :(得分:3)

在此处添加以供将来参考,就像我试图在Intelij上构建时一样,该错误是由于禁用了编译器注释处理器所致。

要启用它,请转到Intelij首选项,打开“构建,执行,部署” -> “编译器” -> “注释处理器” 并确保启用了“启用批注处理”

Enable annotation processing Intelij preference

答案 1 :(得分:2)

我遇到了同样的问题,解决方法是:

  1. lombok-maven-plugin配置为

    1. 将类放到target/delombok目录中
    2. 不要addOutputDirectory到编译器的源路径
  2. 配置maven-javadoc-plugin进入target/delombok目录

similar question

也是一个很好的解释

此外,请记住onConstructor是实验性功能,对于jdk8,您应该使用(onConstructor_ = @Autowired)而不是jdk7样式的onConstructor = @__(@Autowired)

这是我的完整配置:

<plugin>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok-maven-plugin</artifactId>
    <version>${lombok-maven-plugin-version}</version>
    <executions>
        <execution>
            <phase>generate-sources</phase>
            <goals>
                 <goal>delombok</goal>
            </goals>
            <configuration>
                <addOutputDirectory>false</addOutputDirectory>
                <sourceDirectory>src/main/java</sourceDirectory>
                <outputDirectory>
                     ${project.build.directory}/delombok
                </outputDirectory>
            </configuration>
       </execution>
    </executions>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>${maven-javadoc-plugin-version}</version>
    <executions>
        <execution>
            <id>attach-javadocs</id>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <sourcepath>target/generated-sources/delombok</sourcepath>
    </configuration>
</plugin>