У меня есть простой проект JUnit в проекте maven.
Когда у меня есть этот простой тест:
import java.util.Arrays;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.containsInAnyOrder;
import org.junit.jupiter.api.Test;
import lombok.val;
class MyTest {
@Test
void test() {
val list = Arrays.asList(2, 3, 6, 8, 5);
val expected = Arrays.asList(5, 6);
assertThat(list, containsInAnyOrder(expected));
}
}
И я добавил библиотеку Junit5 в путь сборки, я получаю этоошибка:
java.lang.SecurityException: class "org.hamcrest.Matchers"'s signer information does not match signer information of other classes in the same package
Я обнаружил, что это происходит, потому что я использую hamcrest-2.1.jar в качестве зависимости, а eclipse использует версию 1.3.0v20180420-1519.jar в библиотеке JUnit5.
Есть ли способ исправить это, потому что у меня возникают проблемы только тогда, когда мне нужно использовать методы, существующие в классе org.hamcrest.Matchers.Те, которые существуют в org.hamcrest.CoreMatchers, не доставляют никаких проблем.
Я использую eclipse Версия: 2018-12 (4.10.0) Eclipse IDE для разработчиков Enterprise Java.Идентификатор сборки: 20181214-0600
Спасибо