我有一堆带有import语句的Javadoc引用,如引用的问题中所述。 Eclipse没有对此发出警告,但在使用Maven / Tycho构建代码时仍然会收到编译器警告。我认为指定<compilerId>jdt</compilerId>
应该使Maven使用与Eclipse相同的编译器,并通过生成相同的警告集。
我知道我可以使用Javadoc标记中的完全限定名来避免import语句,但我想知道的是,当我使用Maven / Tycho构建时,如何获得相同的编译器警告集日食?
答案 0 :(得分:2)
Tycho默认使用JDT编译器,因此您无需设置<compilerId>
。但是,Tycho和Eclipse中的编译器设置默认值可能不同,或者您可能更改了工作区中的默认设置。您可以尝试通过<compilerArgs>
参数在Tycho中配置编译器以匹配您的工作区设置,但这可能会非常棘手。
使用Tycho 0.22.0(参见bug 404633),可以更轻松地在Eclipse和Tycho中获得完全相同的编译器设置:
在Eclipse中启用特定于项目的Java编译器设置,并以您希望的方式配置它们。这会在项目中创建一个文件.settings/org.eclipse.jdt.core.prefs
。
添加以下Maven配置:
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<useProjectSettings>true</useProjectSettings>
</configuration>
</plugin>
这使得Tycho中的JDT编译器在它们出现时使用Eclipse项目设置。
请注意,您需要将.settings/org.eclipse.jdt.core.prefs
文件置于版本控制之下,以使您的构建可重现。