Bonjour,
J'étais avant sur la version 4.1.0 de Spring et j'ai voulu migrer vers Spring 4.2.2 pour avoir les nouveautés introduites dans Spring 4.2. Sauf que j'ai une erreur au démarrage du serveur.

Voici mon pom.xml:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>TestAngularRestToken</groupId>
  <artifactId>TestAngularRestToken</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>TestAngularRestToken Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
 
    <dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>servlet-api</artifactId>
		<version>2.5</version>
		<scope>compile</scope>
	</dependency>
 
    <!-- Utilisation de cette bibliothèque pour jeton JWT -->
 
    <dependency>
	    <groupId>io.jsonwebtoken</groupId>
	    <artifactId>jjwt</artifactId>
	    <version>0.7.0</version>
	</dependency>
 
	<dependency> 
	    <groupId>org.springframework</groupId> 
	    <artifactId>spring-core</artifactId> 
	    <version>4.2.2.RELEASE</version> 
	</dependency> 
 
	<dependency> 
	    <groupId>org.springframework</groupId> 
	    <artifactId>spring-context</artifactId>
	    <version>4.2.2.RELEASE</version> 
	</dependency> 
 
	<dependency> 
	    <groupId>org.springframework</groupId> 
	    <artifactId>spring-jdbc</artifactId> 
	    <version>4.2.2.RELEASE</version> 
	</dependency> 
 
	<dependency> 
	    <groupId>org.springframework</groupId> 
	    <artifactId>spring-beans</artifactId> 
	    <version>4.2.2.RELEASE</version> 
	</dependency> 
 
	<dependency> 
	    <groupId>org.springframework</groupId> 
	    <artifactId>spring-aop</artifactId> 
	    <version>4.2.2.RELEASE</version> 
	</dependency> 
 
	<dependency> 
	    <groupId>org.springframework</groupId> 
	    <artifactId>spring-tx</artifactId> 
	    <version>4.2.2.RELEASE</version> 
	</dependency> 
 
	<dependency> 
	    <groupId>org.springframework</groupId> 
	    <artifactId>spring-expression</artifactId> 
	    <version>4.2.2.RELEASE</version> 
	</dependency> 
 
	<dependency> 
	    <groupId>org.springframework</groupId> 
	    <artifactId>spring-web</artifactId> 
	    <version>4.2.2.RELEASE</version> 
	</dependency>
 
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
		<version>4.2.2.RELEASE</version>
	</dependency>
 
	<dependency>
	    <groupId>org.springframework.hateoas</groupId>
	    <artifactId>spring-hateoas</artifactId>
	    <version>0.17.0.RELEASE</version>
	</dependency>
 
	<!-- Permet de créer HibernateAwareObjectMapper -->
	<dependency>
	    <groupId>com.fasterxml.jackson.datatype</groupId>
	    <artifactId>jackson-datatype-hibernate4</artifactId>
	    <version>2.8.2</version>
	</dependency>
 
 
	<!-- Utilisation de Spring Security -->
 
	<dependency>
	    <groupId>org.springframework.security</groupId>
	    <artifactId>spring-security-core</artifactId>
	    <version>4.0.0.RELEASE</version>
	</dependency>
 
	<dependency>
		<groupId>org.springframework.security</groupId>
		<artifactId>spring-security-web</artifactId>
		<version>4.0.0.RELEASE</version>
	</dependency>
 
	<dependency>
		<groupId>org.springframework.security</groupId>
		<artifactId>spring-security-config</artifactId>
		<version>4.0.0.RELEASE</version>
	</dependency>
 
	<!-- Utilisation de JpaRepository -->
 
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
        <version>1.8.0.RELEASE</version>
    </dependency>
 
    <!-- Utilisation de Swagger -->
 
    <!-- <dependency>
		<groupId>io.springfox</groupId>
		<artifactId>springfox-swagger-common</artifactId>
	</dependency>
	<dependency>
		<groupId>io.springfox</groupId>
		<artifactId>springfox-swagger-ui</artifactId>
	</dependency>
	<dependency>
		<groupId>io.springfox</groupId>
		<artifactId>springfox-swagger2</artifactId>
	</dependency>
	<dependency>
		<groupId>io.springfox</groupId>
		<artifactId>springfox-spring-web</artifactId>
	</dependency> -->
 
	<!-- Pour interraction BD -->
 
	<dependency>
		<groupId>org.hsqldb</groupId>
		<artifactId>hsqldb</artifactId>
		<version>2.3.1</version>
	</dependency>
 
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-orm</artifactId>
		<version>4.2.2.RELEASE</version>
	</dependency>
 
	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>hibernate-entitymanager</artifactId>
		<version>4.3.4.Final</version>
	</dependency>
  </dependencies>
  <build>
    <finalName>TestAngularRestToken</finalName>
  </build>
</project>
Voici l'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
GRAVE: Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.springframework.web.bind.annotation.RequestMapping.path()[Ljava/lang/String;
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:305)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:835)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537)
	at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5099)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5615)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	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)
Caused by: java.lang.NoSuchMethodError: org.springframework.web.bind.annotation.RequestMapping.path()[Ljava/lang/String;
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.createRequestMappingInfo(RequestMappingHandlerMapping.java:249)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.createRequestMappingInfo(RequestMappingHandlerMapping.java:206)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.getMappingForMethod(RequestMappingHandlerMapping.java:185)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.getMappingForMethod(RequestMappingHandlerMapping.java:53)
	at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$1.matches(AbstractHandlerMethodMapping.java:210)
	at org.springframework.web.method.HandlerMethodSelector$1.doWith(HandlerMethodSelector.java:62)
	at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:524)
	at org.springframework.web.method.HandlerMethodSelector.selectMethods(HandlerMethodSelector.java:57)
	at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.detectHandlerMethods(AbstractHandlerMethodMapping.java:207)
	at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.initHandlerMethods(AbstractHandlerMethodMapping.java:182)
	at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.afterPropertiesSet(AbstractHandlerMethodMapping.java:163)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.afterPropertiesSet(RequestMappingHandlerMapping.java:125)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
	... 21 more
Je n'arrive pas à trouver ce qui cloche.

Il plante ici dans RequestMappingHandlerMapping de spring-webmvc-4.2.2.RELEASE-sources.jar:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
/**
         * Create a {@link RequestMappingInfo} from the supplied
         * {@link RequestMapping @RequestMapping} annotation, which is either
         * a directly declared annotation, a meta-annotation, or the synthesized
         * result of merging annotation attributes within an annotation hierarchy.
         */
	protected RequestMappingInfo createRequestMappingInfo(
			RequestMapping requestMapping, RequestCondition<?> customCondition) {
 
		return RequestMappingInfo
				.paths(resolveEmbeddedValuesInPatterns(requestMapping.path()))
				.methods(requestMapping.method())
				.params(requestMapping.params())
				.headers(requestMapping.headers())
				.consumes(requestMapping.consumes())
				.produces(requestMapping.produces())
				.mappingName(requestMapping.name())
				.customCondition(customCondition)
				.options(this.config)
				.build();
	}
Quand je regarde dans les JARs de Spring j'ai pourtant bien une @interface RequestMapping qui contient bien la méthode suivante et qui semble nouvelle avec Spring 4.2 dans spring-web-4.2.2.RELEASE-sources.jar:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
/**
         * In a Servlet environment only: the path mapping URIs (e.g. "/myPath.do").
         * Ant-style path patterns are also supported (e.g. "/myPath/*.do").
         * At the method level, relative paths (e.g. "edit.do") are supported within
         * the primary mapping expressed at the type level. Path mapping URIs may
         * contain placeholders (e.g. "/${connect}")
         * <p><b>Supported at the type level as well as at the method level!</b>
         * When used at the type level, all method-level mappings inherit
         * this primary mapping, narrowing it for a specific handler method.
         * @see org.springframework.web.bind.annotation.ValueConstants#DEFAULT_NONE
         * @since 4.2
         */
	@AliasFor("value")
	String[] path() default {};
Pouvez vous m'aider svp?

Edit: Le problème s'est résolu en supprimant et recréant le serveur.