java .lang.NoSuchMethodError: 'void org.springframework.util.Assert.state (логическое значение, java .util.function.Supplier)' - PullRequest
0 голосов
/ 31 января 2020

Я пытался обновить проект до JDK11 с JDK8, вся часть бизнес-логики c идет хорошо, но когда maven достигает тестовых классов, все они терпят неудачу с точно таким же исключением. Например,

 initializationError(com.foo.bar.etc.utils.TimeUtilsTest)  Time elapsed: 0 sec  <<< ERROR!
java.lang.NoSuchMethodError: 'void org.springframework.util.Assert.state(boolean, java.util.function.Supplier)'
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.ensureSpringRulesAreNotPresent(SpringJUnit4ClassRunner.java:120)
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:141)
        at org.springframework.test.context.junit4.SpringRunner.<init>(SpringRunner.java:49)
        at jdk.internal.reflect.GeneratedConstructorAccessor6.newInstance(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
        at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
        at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
        at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
        at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
        at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
        at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

И как только все сделано, он просто суммирует все классы тестов со списком

Tests in error:
  BaseSpringTest.initializationError » NoSuchMethod 'void org.springframework.ut...
  EmailAttachmentDaoImplTest.initializationError » NoSuchMethod 'void org.spring...
  EmailEventDaoImplTest.initializationError » NoSuchMethod 'void org.springframe...
  EmailMappingDaoImplTest.initializationError » NoSuchMethod 'void org.springfra...
  EmailRequestDaoImplTest.initializationError » NoSuchMethod 'void org.springfra...
  EmailWindowsDaoImplTest.initializationError » NoSuchMethod 'void org.springfra...
  ServiceClientDaoImplTest.initializationError » NoSuchMethod 'void org.springfr...
  TemplateContextDaoImplTest.initializationError » NoSuchMethod 'void org.spring...
  TemplateMappingDaoImplTest.initializationError » NoSuchMethod 'void org.spring...
  TemplateMetadataDaoImplTest.initializationError » NoSuchMethod 'void org.sprin...
  VarMetadataDaoImplTest.initializationError » NoSuchMethod 'void org.springfram...
  TemplateContextStorageTest.initializationError » NoSuchMethod 'void org.spring...
  ApiRequestFilterTest.initializationError » NoSuchMethod 'void org.springframew...
  TemplateResolutionServiceTest.initializationError » NoSuchMethod 'void org.spr...
  AwsS3ClientTest.initializationError » NoSuchMethod 'void org.springframework.u...
  TimeUtilsTest.initializationError » NoSuchMethod 'void org.springframework.uti...

Может ли это быть проблемой с какой-то версией? Я знаю, что для этого нужно добавить несколько jar-файлов или обновить что-то еще, кроме JDK, до версии 11

Тесты прошли нормально на JDK8, кстати, я полагаю, это важная деталь.

1 Ответ

0 голосов
/ 05 февраля 2020

Эта проблема была решена после перехода spring-core с версии 4 на версию 5. По какой-то неизвестной причине все пружинные банки были исключением spring-core версии 5, что еще более странно, что это приложение с загрузочной пружиной, поэтому Связка пружинных банок была версии 5, за исключением пружинного сердечника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...