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

Ian*_*Lim 7 java lombok

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

我收到以下错误:

error: cannot find symbol
[ERROR] @RequiredArgsConstructor(onConstructor=@__(@Inject))
[ERROR] ^
[ERROR] symbol: class __
Run Code Online (Sandbox Code Playgroud)

关于如何解决上述错误的任何建议将不胜感激。

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

        <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.10.3</version>
            <!--
            <configuration>
                <doclet>ch.raffael.doclets.pegdown.PegdownDoclet</doclet>
                <docletArtifact>
                    <groupId>ch.raffael.pegdown-doclet</groupId>
                    <artifactId>pegdown-doclet</artifactId>
                    <version>1.1.1</version>
                </docletArtifact>
                <useStandardDocletOptions>true</useStandardDocletOptions>
            </configuration>
            -->
        </plugin>
Run Code Online (Sandbox Code Playgroud)

Ahm*_*any 6

我遇到了同样的问题,通过以下方式解决:

  1. 配置lombok-maven-plugin

    1. Delombok 类到target/delombok目录
    2. 不要addOutputDirectory编译源路径
  2. 配置maven-javadoc-plugin查看target/delombok目录

在这个类似的问题上也有一个很好的解释

另外,请记住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>
Run Code Online (Sandbox Code Playgroud)