Удаление предупреждающих сообщений об IntelliJ IDEA при создании проекта Java


Я впервые использую IntelliJ IDEA Community Edition и использую Maven для настройки среды TDD. Код, который я пытаюсь проверить, и предупреждающие сообщения, с которыми я столкнулся вместе со структурой проекта, приведены ниже.

Структура Проекта:

код:

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: /главная/Сандип/рабочий стол/mydocs по/РЕПО/ГИТ-РЕПО/общественных/MavenCodeBase/настройки.xml
  • путь к локальному репозиторию Maven: /главная/Сандип/рабочий стол/mydocs по/РЕПО/Мэйвен-РЕПО
  • пом.XML-код: 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.

вопрос:

что вызывает эти сообщения и что было бы хорошим / рекомендуемым способом исправить эти предупреждающие сообщения?

6 53

6 ответов:

проверьте версию java в вашем пом.xml(здесь вы можете найти, как это сделать). Также проверьте версию java в Структура Проекта. И последнее, что вы можете сделать - проверить версию компилятора, например,

enter image description here

Я сделал все вышеперечисленное, и еще один экземпляр предупреждения:

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

Я вошел в свою имя_проекта.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">

и вуаля, больше нет сообщения об ошибке. Надеюсь, это кому-то поможет.

Если проект с 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>

в моем случае ни одно из вышеперечисленных решений не сработало. Но изменение уровня языка в структуре проекта произошло.

файл - > структура проекта - > настройки проекта -> модули - > на вкладке "Источники" измените уровень языка на некоторую верхнюю версию.

enter image description here

если у вас есть проект Maven, откройте пом.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>

У меня была эта проблема в проекте Gradle Java.

в build.файл gradle, было предупреждение о том, что назначение не было использовано. Я удалил sourceCompatibility = 1.5 строки в build.файл gradle и все предупреждающие сообщения исчезли.

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