Eclipse JDT和Maven / Tycho不同意警告

时间:2014-06-09 13:16:06

标签: eclipse maven tycho

这与How to avoid Eclipse importing a class when putting the class name in the comments, so that checkstyle does not complain later?有关,但问题不同。

我有一堆带有import语句的Javadoc引用,如引用的问题中所述。 Eclipse没有对此发出警告,但在使用Maven / Tycho构建代码时仍然会收到编译器警告。我认为指定<compilerId>jdt</compilerId>应该使Maven使用与Eclipse相同的编译器,并通过生成相同的警告集。

我知道我可以使用Javadoc标记中的完全限定名来避免import语句,但我想知道的是,当我使用Maven / Tycho构建时,如何获得相同的编译器警告集日食?

1 个答案:

答案 0 :(得分:2)

Tycho默认使用JDT编译器,因此您无需设置<compilerId>。但是,Tycho和Eclipse中的编译器设置默认值可能不同,或者您可能更改了工作区中的默认设置。您可以尝试通过<compilerArgs>参数在Tycho中配置编译器以匹配您的工作区设置,但这可能会非常棘手。

使用Tycho 0.22.0(参见bug 404633),可以更轻松地在Eclipse和Tycho中获得完全相同的编译器设置:

  1. 在Eclipse中启用特定于项目的Java编译器设置,并以您希望的方式配置它们。这会在项目中创建一个文件.settings/org.eclipse.jdt.core.prefs

  2. 添加以下Maven配置:

    <plugin>
       <groupId>org.eclipse.tycho</groupId>
       <artifactId>tycho-compiler-plugin</artifactId>
       <version>${tycho-version}</version>
       <configuration>
          <useProjectSettings>true</useProjectSettings>
       </configuration>
    </plugin>
    
  3. 这使得Tycho中的JDT编译器在它们出现时使用Eclipse项目设置。

    请注意,您需要将.settings/org.eclipse.jdt.core.prefs文件置于版本控制之下,以使您的构建可重现。