Eclipse Photon не разрешает импорт в тестовых источниках - PullRequest
0 голосов
/ 29 июня 2018

Я переехал в Eclipse Photon с существующим рабочим пространством. У меня есть несколько проектов Maven в этом рабочем пространстве. Во всех проектах не было ошибок в Eclipse Oxygen. После открытия моей рабочей области в Eclipse Photon все тестовые классы, которые импортируют org.mockito.Mockito, org.springframework.mock и org.springframework.test, имеют ошибки. Этот импорт не может быть разрешен, хотя Eclipse знает о них, так как я могу перейти в классы.

Почему Eclipse Photon не может разрешить этот импорт? И как я могу это исправить?

Ответы [ 3 ]

0 голосов
/ 29 июня 2018

Если это действительно проект maven, и вы используете соответствующую m2e-версию 1.9, он должен автоматически настроить параметр «Содержит тестовые источники» - и соответствующие параметры правильно.

Возможно, вам придется обновить путь к классам проекта, щелкнув правой кнопкой мыши проект и выбрав «Maven»> «Обновить проект»

0 голосов
/ 14 ноября 2018

Для моего проекта на основе Maven я смог решить проблему, зайдя в файл .classpath для проекта и добавив ...

<attribute name="test" value="true"/>

тег к атрибутам, т.е.

<classpathentry kind="src" output="target/test-classes" path="src/test/java">
    <attributes>
        <attribute name="optional" value="true"/>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="test" value="true"/>
    </attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="test" value="true"/>
    </attributes>
</classpathentry>

Надеюсь, это поможет.

0 голосов
/ 29 июня 2018

Я решил и хочу поделиться своими результатами.

Свойства пути построения в фотоне затмения имеют новую опцию на вкладке источника: Содержит тестовые источники . Этот параметр был установлен на Нет для папки myproject/src/test/java. Когда я попытался установить его на Да , я получил следующую ошибку:

Исходная папка 'src / testjava' в проекте 'myproject' должна иметь выходная папка, которая также не используется для основных источников

Ошибка была показана, хотя в папке вывода уже был указан путь, отличный от myproject/src/main/java. Чтобы сбросить настройки, я снял флажок Разрешить исходящие папки для исходных папок и снова установил все выходные папки. После этого мне удалось установить упомянутую опцию на Да . В результате этого импорт был решен.

Причина описана здесь (прокрутите вниз до Источники теста ). Там написано:

Для каждого проекта компиляция теперь выполняется в два этапа: сначала все основные источники (которые не видят никакого тестового кода на пути сборки) и тогда все тестовые источники.

Поскольку параметр test-source-folder не был задан, он был скомпилирован как main-source-folder. Поэтому импорт тестовых классов из зависимостей с областью действия test не может быть разрешен.

...