将package-info.java文件添加到项目中,会导致注释处理器创建不同的输出。
我不明白为什么会这样。我认为添加package-info.java文件根本不应该影响我的构建,因为它不包含任何花哨的东西(如注释等)。它只包含最简单的包声明:
package com.example;
我设法创建了一个最小的项目来重现这个问题javac
。该项目的代码太多,无法在 StackOverflow 上发布,因此我在GitLab上发布了该项目:包括完整的源代码和非常详细的 README 文件。
任何想法为什么会发生这种情况或可能是什么原因?它可能是一个java错误吗?
笔记
- 该项目使用 jar 文件
color-1.0-SNAPSHOT.jar
作为库,其中:- 使用相同的注释处理器
- 使用相同的包(在实际项目中,我们必须在不同的模块中使用相同的包名才能使用java package-scope)
- 该问题也可以在具有另一个注释处理器的 Android 项目中重现:请参阅此SO question