Spring boot 2. Java 10. JUnit.Пакет org.slf4j доступен из нескольких модулей: <unnamed>, slf4j.api - PullRequest
0 голосов
/ 25 февраля 2019

Я использую Maven, Java 10, Spring boot 2 и Junit 5 для создания моего приложения с юнит-тестами.

Основной класс приложения:

package mypackage;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApplication {

    private final static Logger LOGGER = LoggerFactory.getLogger(MyApplication.class);

    public static void main(String[] args) {
        LOGGER.info("I'am running...");
        SpringApplication.run(MyApplication.class, args);
    }
}

Мой тестовый класс JUnit:

package mypackage;

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;


@ExtendWith(SpringExtension.class)
@SpringBootTest(classes=MyTest.class)
public class MyTest {
    private static final Logger LOGGER = LoggerFactory.getLogger(MyTest.class);
    @Test
    public void myTest() {
        LOGGER.info("Message from test");
    }
}

Когда я импортирую свой проект maven в Eclipse 4.10, в моем тестовом классе я получаю сообщение об ошибке:

The package org.slf4j is accessible from more than one module: <unnamed>, slf4j.api

Но установка mvn работает нормально, и плагин maven-surefire-работает правильно.Что я делаю не так?Или это ошибка затмения?Может быть, Java 10, Junit и SLF4J не работают вместе?в моем модуле-info.java: требуется slf4j.api;

Пожалуйста, помогите мне.

Ответы [ 3 ]

0 голосов
/ 25 февраля 2019

Я полагаю, что вы добавили jar для slf4j в ModulePath:

Перейдите в Project -> BuildPath -> Config BuildPath -> Удалить Jars из Modulepath

0 голосов
/ 17 апреля 2019

Нужно удалить module-info.class из вашего проекта весенней загрузки. весна-загрузка / # 16031

0 голосов
/ 25 февраля 2019

Это происходит, когда вы добавили внешние jar-файлы в ModulePath.Удалите эти добавленные внешние jar-файлы и добавьте зависимость с помощью pom.xml

. Проверьте в иерархии зависимостей, библиотека slf4j должна находиться под одной зависимостью

.
...