如何在构建Jenkins插件时获得编译器警告

时间:2014-05-20 21:26:54

标签: maven plugins jenkins warnings

我正在编写Jenkins插件,但对Java和Maven都不熟悉。

当我在intelliJ中构建插件时,我得到了我期望看到的所有编译器警告(例如,弃用警告)但我找不到通过命令行编译的方法(例如使用mvn hpi) :hpi / mvn编译)

我尝试将以下行添加到Maven设置文件的maven-compiler-plugin部分但无济于事:

<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>

最终目的是在jenkins上编译插件并将警告输入警告插件。

2 个答案:

答案 0 :(得分:3)

您可以尝试两个建议:

1)添加compiler-argument -Xlint:all:

<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-compiler-plugin</artifactId>
 <version>3.0</version>
 <configuration>
      <source>1.6</source>
      <target>1.6</target>
      <compilerArgument>-Xlint:all</compilerArgument>
      <showWarnings>true</showWarnings>
      <showDeprecation>true</showDeprecation>
  </configuration>
</plugin>

2。)尝试通过命令行传递参数,如下所示:

mvn clean install -Dmaven.compiler.showDeprecation=true

祝你好运!

答案 1 :(得分:0)

根据TimHauschildt的回答,我不得不修改我的jenkins pom.xml文件,如下所示:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.jenkins-ci.plugins</groupId>
    <artifactId>plugin</artifactId>
    <version>1.509.4</version>
  </parent>

  <groupId>org.jenkins-ci.plugins</groupId>
  <artifactId>test-plugin</artifactId>
  <version>1.00</version>
  <name>Test Plugin</name>
  <packaging>hpi</packaging>

  <repositories>
    <repository>
      <id>repo.jenkins-ci.org</id>
      <url>http://repo.jenkins-ci.org/public/</url>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>repo.jenkins-ci.org</id>
      <url>http://repo.jenkins-ci.org/public/</url>
    </pluginRepository>
  </pluginRepositories>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.0</version>
          <configuration>
          <source>1.6</source>
          <target>1.6</target>
          <compilerArgument>-Xlint:all</compilerArgument>
          <showWarnings>true</showWarnings>
          <showDeprecation>true</showDeprecation>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

</project>

然后跑mvn compile。 之后,詹金斯的警告插件可以收到警告。

-Dmaven.compiler.showDeprecation=true选项也运行良好,但输出量因jenkins / maven默认选择的编译器插件版本而异。