Maven如何在编译时显示代码警告

时间:2017-03-07 06:40:25

标签: java maven

我正在使用maven来构建一个新项目。我的代码中有一些警告用黄线加下划线。我希望maven可以在控制台中报告这些警告。我怎么能做到这一点?我可以在命令中添加一些参数,例如mvn -XXX clean compile?

5 个答案:

答案 0 :(得分:3)

  

<showDeprecation>
  设置是否显示使用不推荐使用的API的源位置。

     
      
  • 默认值为:false
  •   
  • 用户属性为:maven.compiler.showDeprecation
  •   
     

<showWarnings>
  设置为true以显示编译警告。

     
      
  • 默认值为:false
  •   
  • 用户属性为:maven.compiler.showWarnings
  •   
     

-Maven Doku

就像mvn clean install -Dmaven.compiler.showDeprecation=true -Dmaven.compiler.showWarnings=true一样简单地放在一行中。

您甚至可以删除=true部分,因为在使用-D添加maven参数时,如果未将其设置为其他值,它将自动将其值设置为true

答案 1 :(得分:0)

我猜你正在使用编译器插件。你试过this吗?

答案 2 :(得分:0)

在pom.xml中使用maven编译器插件:

sudo apt-get install libaio-dev

答案 3 :(得分:0)

要查看maven中的详细日志,您可以使用命令行选项

  

-X - debug 生成执行调试输出

例如,这可以用作

mvn clean install -X

此外,如果您希望在日志中获得的是编译器警告(未使用本地变量a的值)。您可以尝试使用以下内容修改项目pom.xml -

...
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.1</version>
            <configuration>
               <source>1.8</source>
               <target>1.8</target>
               <showWarnings>true</showWarnings>
            </configuration>
       </plugin>
       ... other plugins
    </plugins>
</build>

答案 4 :(得分:0)

在maven 3.3.9中,使用maven-compiler-plugin和Java 1.8,您需要一个<configuration>部分,如下所示:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.0</version>
    <executions>
        <execution>
            <id>compile</id>
            <phase>compile</phase>
            <goals>
                <goal>compile</goal>
            </goals>
        </execution>
        <execution>
            <id>testCompile</id>
            <phase>test-compile</phase>
            <goals>
                <goal>testCompile</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <compilerArgument>-Xlint:all</compilerArgument>
        <showWarnings>true</showWarnings>
        <showDeprecation>true</showDeprecation>
    </configuration>
</plugin>

当以上任何一项都不适合我时,我从这里得到了这个答案:http://frequal.com/java/EnableWarningsInMaven.html