我正在编写Jenkins插件,但对Java和Maven都不熟悉。
当我在intelliJ中构建插件时,我得到了我期望看到的所有编译器警告(例如,弃用警告)但我找不到通过命令行编译的方法(例如使用mvn hpi) :hpi / mvn编译)
我尝试将以下行添加到Maven设置文件的maven-compiler-plugin部分但无济于事:
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
最终目的是在jenkins上编译插件并将警告输入警告插件。
答案 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默认选择的编译器插件版本而异。