2016-09-04 2 views
1

Я работаю на плагин Jenkins с помощью Spring Framework, и я бегу в эту ошибку, когда я запускаю плагин:NoSuchMethodError при разработке Jenkins плагин с Spring социальной Framework

java.lang.NoSuchMethodError: org.springframework.util.CollectionUtils.unmodifiableMultiValueMap(Lorg/springframework/util/MultiValueMap;)Lorg/springframework/util/MultiValueMap; 
at org.springframework.web.util.HierarchicalUriComponents.<init>(HierarchicalUriComponents.java:84) 
at org.springframework.web.util.UriComponentsBuilder.build(UriComponentsBuilder.java:364) 
at org.springframework.web.util.UriComponentsBuilder.build(UriComponentsBuilder.java:348) 
at org.springframework.web.util.UriTemplate.<init>(UriTemplate.java:69) 
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:531) 
at org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:332) 
at org.springframework.social.oauth2.OAuth2Template.postForAccessGrant(OAuth2Template.java:242) 
at org.springframework.social.oauth2.OAuth2Template.exchangeForAccess(OAuth2Template.java:144) 
at ain.tolva.updates.FBUpdater.<init>(FBUpdater.java:48) 
at ain.tolva.FBNotifier.perform(FBNotifier.java:38) 
at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) 
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:785) 
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:726) 
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1037) 
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671) 
at hudson.model.Run.execute(Run.java:1766) 
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:529) 
at hudson.model.ResourceController.execute(ResourceController.java:98) 
at hudson.model.Executor.run(Executor.java:408) 

После исследования, я пришел к выводу, что-то я не могу получить достаточно свежую версию весной, несмотря на указания версии рамок пружины, рассмотренный метод (Maven):

<dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>4.3.2.RELEASE</version> 
    </dependency> 

    <!-- Spring Social --> 
    <dependency> 
     <groupId>org.springframework.social</groupId> 
     <artifactId>spring-social-core</artifactId> 
     <version>1.1.4.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-web</artifactId> 
     <version>4.1.3.RELEASE</version> 
    </dependency> 

    <!-- Spring Social Facebook --> 
    <dependency> 
     <groupId>org.springframework.social</groupId> 
     <artifactId>spring-social-facebook</artifactId> 
     <version>2.0.3.RELEASE</version> 
    </dependency> 

Я также попытался это с последней версией каждого , а также несколько других способов.

Моя следующая идея состояла в том, чтобы попытаться добавить последнюю Spring Io платформу, как указано here, который очистил ошибку, но и бросил это одно при строительстве:

SEVERE: Failed Inspecting plugin C:\[REDACTED]\JenFacebook\work\plugins\Facebook.hpl 
java.util.zip.ZipException: error in opening zip file 
at java.util.zip.ZipFile.open(Native Method) 
at java.util.zip.ZipFile.<init>(ZipFile.java:219) 
at java.util.zip.ZipFile.<init>(ZipFile.java:149) 
at java.util.jar.JarFile.<init>(JarFile.java:166) 
at java.util.jar.JarFile.<init>(JarFile.java:130) 
at jenkins.util.AntClassLoader.addPathFile(AntClassLoader.java:502) 
at hudson.ClassicPluginStrategy$AntClassLoader2.addPathFiles(ClassicPluginStrategy.java:768) 
at hudson.ClassicPluginStrategy.createClassLoader(ClassicPluginStrategy.java:278) 
at hudson.ClassicPluginStrategy.createPluginWrapper(ClassicPluginStrategy.java:253) 
at hudson.PluginManager$1$3$1.run(PluginManager.java:254) 
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169) 
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282) 
at jenkins.model.Jenkins$7.runTask(Jenkins.java:905) 
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210) 
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 

Я действительно не уверен, что я отсутствует, и не может найти ничего, что может указывать мне в правильном направлении.

ответ

0

CollectionUtils.unmodifiableMultiValueMap был добавлен весной 3.1, но не указан в более ранних версиях. Похоже, вы создаете приложение с использованием весеннего ядра 3.1, но ваша среда выполнения использует более старую версию.

Возможно, вы недавно обновили Spring и обнаружили, что каталог устаревшей библиотеки lib содержит несколько версий spring-core? Согласно моему пониманию, Java всегда, кажется, выбирает неправильного (старше), и я получаю такие ошибки. Убедитесь, что у вас нет пружинного сердечника 3.0 или ранее в любой точке вашей среды.

Теперь, когда вы обновили весну до последней версии, наша ошибка решена.

Новое исполнение, которое вы получаете, поскольку какая-то банка повреждена. Убедитесь, что ваш файл jar не поврежден. Если он поврежден или не сможет разархивировать, эта ошибка произойдет.

Вы можете следовать следующим шагам:

Step1

Мойте .m2 \ хранилище или удалить отдельные папки из .m2 \ директории хранилища

step2.

запустить MVN чистую установку -U

step3.

Ваше интернет-соединение должно работать нормально во время выполнения этой команды, иногда это происходит из-за проблем подключения.

Смежные вопросы