在构建 Java 项目时删除 IntelliJIDEA 上的警告消息

我第一次使用 IntelliJIDEA 社区版,并使用 Maven 设置 TDD 环境。下面提供了我试图测试的代码和我在项目结构中遇到的警告消息。

项目结构:

enter image description here

密码:

package miscellaneous;


import org.junit.Test;


import static org.junit.Assert.*;


public class TestHello {


// Methods to be tested.....
private int Add1Plus1(int i, int j) {
return (i + j);
}


@Test
public void testAdd1Plus1() throws Exception {
assertEquals(2, Add1Plus1(1, 1));
}
}

配置详情:

  • Java 编译器: 1.8.0 _ 45
  • Maven 版本: 3.0.5
  • Maven 用户设置文件的路径: /home/sandeep/Desktop/MyDocs/repos/git-repos/public/MavenCodeBase/setings.xml
  • 到 Maven 本地存储库的路径: /home/sandeep/Desktop/MyDocs/repos/Maven-repos
  • Pom.xml: < a href = “ http://pastebin.com/462Uytad”rel = “ norefrer”> http://pastebin.com/462uytad

警告信息:

Warning:java: source value 1.5 is obsolete and will be removed in a future release
Warning:java: target value 1.5 is obsolete and will be removed in a future release
Warning:java: To suppress warnings about obsolete options, use -Xlint:-options.

问题:

是什么导致了这些消息,以及什么是修复这些警告消息的好的/推荐的方法?

49550 次浏览

检查您的 Pom.xml中的 java 版本(给你,您可以找到如何做到这一点)。 还要检查在 工程项目结构中的 java 版本。最后你能做的是-检查编译器版本,例如。

enter image description here

我做了以上所有的工作,仍然有一个警告实例:

Warning:java: source value 1.5 is obsolete and will be removed in a future release

我进入 Project _ name. iml文件并替换了以下标记:

<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5" inherit-compiler-output="false">

与:

<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false">

瞧,没有错误消息了,希望这能帮到别人。

我在 Gradle 的爪哇项目中遇到了这个问题。

在 build.gradle 文件中,有一个未使用赋值的警告。我删除了 build.gradle 文件中的 sourceCompatibility = 1.5行,所有警告消息都消失了。

value 1.5 is obsolete and will be removed in a future release

如果项目与 Maven,检查 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>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
</plugins>
</build>

以 Gradle 为例,检查 建造,分级:

plugins {
id 'java'
}
sourceCompatibility = 1.8

在我的案例中,上面的解决方案都不起作用,但是改变项目结构中的语言水平却起作用。

文件-> 项目结构-> 项目设置-> 模块-> 在“源”选项卡下将语言级别更改为某个更高版本。

enter image description here

如果您有 Maven 项目,打开 Pom.xml文件并在项目根目录中添加以下代码:

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

真正的原因是,您的模块目标 jdk 版本与 IDE 不同。 解决这个问题的一个方法是: 首选项-> 构建,执行,部署-> 编译器-> Java 编译器-> Java 选项: 取消选中 尽可能使用来自模块目标 JDK 的编译器 而且,其他人关于彩球的回答也是正确的。

<?xml version="1.0" encoding="UTF-8"?>
<project>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>

或者

<project>
...
<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>
</configuration>
</plugin>
</plugins>
</build>
</project>