Я использую 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;
Пожалуйста, помогите мне.