Как и в случае с некоторыми другими вопросами, я обнаружил, что IntelliJ таинственным образом отказывается распознавать библиотеку AssertJ. Я спрашиваю еще раз, поскольку (а) я пробовал различные предложения, и (б) у меня есть очень простой пример, который каждый может попробовать сам.
В предварительной версии IntelliJ 2018 и IntelliJ 2019 я создаю новый проект, используя архетип Maven maven-archetype-quickstart
версия 1.4.
Для AssertJ 3 требуется Java 8. Поэтому я изменил эти две строки в POM для 1.7
на 11
.
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
Я добавляю это в POM:
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.11.1</version>
<scope>test</scope>
</dependency>
Используя панель Maven в IntelliJ, я выполнил clean
и install
.
Выглядит неплохо. Я проверяю, что библиотека org.assertj:assertj-core:3.11.1
отображается на панели Project в IntelliJ. Приложение запускается, а Hello World появляется на консоли в IntelliJ.
В файл App.java
я добавляю этот оператор import
.
import static org.assertj.core.api.Assertions.* ;
Сообщение об ошибке в редакторе IDE:
Не удается разрешить символ «Утверждения»
Некоторые люди предполагают поврежденный кеш Maven. Поэтому я ухожу из IntelliJ и удаляю папку .m2
в своей домашней папке. Я снова открываю свой проект в IntelliJ и повторно запускаю Maven clean
и install
. Многие вещи загружаются, поэтому я знаю, что кеш Maven действительно воссоздается.
Тем не менее, все еще ошибка в моем редакторе, Cannot resolve symbol 'Assertions'
.
Модули Java не задействованы, так как архетип quickstart
еще не был обновлен для этого.
requires org.assertj.core;
в файлmodule-info
. - person Jorn Vernee   schedule 28.01.2019quickstart
для модулей еще не обновлен. Я уточнил в Вопросе. Сразу после публикации я нашел решение: областьtest
в зависимости ограничивает доступ только к тестовым классам. Удаление этой областиtest
открывает AssertJ для использования в вашем основном приложении. - person Basil Bourque   schedule 28.01.2019