Bonjour!
je travaille sur une application web (projet maven) dont le core est developpé avec Spring et le web: JSP+Servlets.
Les servlets utilisent les managers du core: contextLoaderListener de springframework inclus dans le web.xml et l'objet WebApplicationContext dans les Servlets et JSP pour récupérer les beans du core.
Je me tourne vers vous dans l'espoir d'arrêter de m'arracher les cheveux sur les problème que je rencontre actuellement:
dans mon web.xml, j'ai mappé pour commencer une Servlet (utilisée dans la page d'accueil de mon appli) qui est <load-on-startup>1</load-on-startup>.
Avec Jetty, comme avec Tomcat, à la compilation du web, avant le lancement du server, je me retrouve avec l'erreur:
Voila voila je ne sais pas quoi faire.... Je ne comprends pas cette erreur... est elle liée aux méthodes init() des Servlets, à une chose qui aurait pu m'echapper?
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 java.lang.IllegalStateException: ServletConfig has not been initialized at javax.servlet.GenericServlet.getServletContext(GenericServlet.java:185) at net.atos.ffm.web.service.SearchServlet.<init>(SearchServlet.java:101) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:494) at java.lang.Class.newInstance0(Class.java:350) at java.lang.Class.newInstance(Class.java:303) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1104) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4364) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.startup.Embedded.start(Embedded.java:825) at org.codehaus.mojo.tomcat.AbstractRunMojo.startContainer(AbstractRunMojo.java:385) at org.codehaus.mojo.tomcat.AbstractRunMojo.execute(AbstractRunMojo.java:144) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:579) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:498) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject(DefaultLifecycleExecutor.java:265) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:191) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:149) at org.apache.maven.DefaultMaven.execute_aroundBody0(DefaultMaven.java:223) at org.apache.maven.DefaultMaven.execute_aroundBody1$advice(DefaultMaven.java:304) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:1) at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody2(MavenEmbedder.java:904) at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody3$advice(MavenEmbedder.java:304) at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:1) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176) at org.apache.maven.cli.MavenCli.main(MavenCli.java:63) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:408) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:351) at org.codehaus.classworlds.Launcher.main(Launcher.java:31)
Je me pose une autre question: j'ai souhaité pour peut être contourner ou vérifier que ce problème existe bien et n'est pas lié à eclipse, générer un war de mon appli afin de le déposer dans le webapps de tomcat (je ne sais pas si les déploiements se passent exactement comme ça, c'est d'ailleurs encore une autre question... mais bon pour le moment ma question est surtout comment générer le war?).
le truc est que le web se sert du core donc je me suis demandée si je suis dans un cas de multimodule qui pourrait nécessiter l'utilisation du "maven-assembly-plugin" ou s'il me suffisait simplement d'utiliser le "maven-war-plugin" ou encore un autre plugin que j'ignore...
Merci de vos réponses!
Partager