我正在尝试使用 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)
我遇到了同样的问题,通过以下方式解决:
配置lombok-maven-plugin为
target/delombok目录addOutputDirectory编译源路径配置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)
| 归档时间: |
|
| 查看次数: |
6734 次 |
| 最近记录: |