IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Web Java Discussion :

HelloWorld Spring portlet MVC


Sujet :

Spring Web Java

  1. #1
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 200
    Points : 111
    Points
    111
    Par défaut HelloWorld Spring portlet MVC
    Bonjour à tous,

    Je débute totalement sur Spring, j'essaie depuis 3 jours de créer une simple portlet HelloWorld en utlisant Spring portlet MVC 3.0, j'ai cherché sur ce forum ainsi que sur d'autres et ai suivi plusieurs tuto mais principalement celui-là : http://books.dzone.com/articles/hell...-3-portlet-MVC
    Seulement une fois le déploiement sous Glassfish (v.3.0.0), la portlet n'apparaît pas dans la liste d'ajout de portlets dans Liferay (v.6.0.0).

    Je pense avoir ajouter tous les jars nécessaires.

    Quand je regarde les logs du serveur, j'ai cette 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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    [#|2010-06-10T12:55:07.053+0000|INFO|glassfishv3.0|javax.enterprise.system.std.com.sun.enterprise.v3.services.impl|_ThreadID=29;_ThreadName=Thread-1;|12:55:07,037 ERROR [HotDeployUtil:107] com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering portlets for HelloWorld
    com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering portlets for HelloWorld
    	at com.liferay.portal.kernel.deploy.hot.BaseHotDeployListener.throwHotDeployException(BaseHotDeployListener.java:48)
    	at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:135)
    	at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._doFireDeployEvent(HotDeployUtil.java:104)
    	at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(HotDeployUtil.java:149)
    	at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:35)
    	at com.liferay.portal.kernel.servlet.PortletContextListener.portalInit(PortletContextListener.java:104)
    	at com.liferay.portal.kernel.util.PortalInitableUtil.init(PortalInitableUtil.java:39)
    	at com.liferay.portal.kernel.servlet.PortletContextListener.contextInitialized(PortletContextListener.java:100)
    	at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:4591)
    	at com.sun.enterprise.web.WebModule.contextListenerStart(WebModule.java:535)
    	at org.apache.catalina.core.StandardContext.start(StandardContext.java:5193)
    	at com.sun.enterprise.web.WebModule.start(WebModule.java:499)
    	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:928)
    	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:912)
    	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:694)
    	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1933)
    	at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1605)
    	at com.sun.enterprise.web.WebApplication.start(WebApplication.java:90)
    	at org.glassfish.internal.data.EngineRef.start(EngineRef.java:126)
    	at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:241)
    	at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:236)
    	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:339)
    	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183)
    	at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272)
    	at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:310)
    	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:320)
    	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1176)
    	at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83)
    	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235)
    	at org.glassfish.deployment.autodeploy.AutoOperation.run(AutoOperation.java:141)
    	at org.glassfish.deployment.autodeploy.AutoDeployer.deploy(AutoDeployer.java:573)
    	at org.glassfish.deployment.autodeploy.AutoDeployer.deployAll(AutoDeployer.java:459)
    	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:391)
    	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:376)
    	at org.glassfish.deployment.autodeploy.AutoDeployService$1.run(AutoDeployService.java:195)
    	at java.util.TimerThread.mainLoop(Timer.java:512)
    	at java.util.TimerThread.run(Timer.java:462)
    Caused by: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    	at org.springframework.web.portlet.DispatcherPortlet.<clinit>(DispatcherPortlet.java:219)
    	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:513)
    	at java.lang.Class.newInstance0(Class.java:355)
    	at java.lang.Class.newInstance(Class.java:308)
    	at com.liferay.portal.deploy.hot.PortletHotDeployListener.initPortlet(PortletHotDeployListener.java:507)
    	at com.liferay.portal.deploy.hot.PortletHotDeployListener.doInvokeDeploy(PortletHotDeployListener.java:292)
    	at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:132)
    	... 35 more
    Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    	at org.glassfish.web.loader.WebappClassLoader.findClass(WebappClassLoader.java:949)
    	at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1420)
    	... 45 more
    |#]
    Le truc c'est que je ne suis absolument pas sûr de la configuration de ma portlet, j'entends par là que je ne suis pas sûr du contenu des fichiers xml, ni même de leur emplacement dans le projet, ni des fichiers properties etc...

    voici l'arborescence de mon projet :

    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
    - src
       - nom du package
          + HelloWorldController.java
    - WebContent
       - WEB-INF
          - jsp
             HelloWorld_edit.jsp
             HelloWorld_help.jsp
             HelloWorld_view.jsp
             HelloWorld.jsp
          + lib
          helloWorld-portlet.xml
          liferay-display.xml
          liferay-portlet.xml
          portlet.xml
          web.xml
       applicationContext.xml
       Langage-ext.properties

    Merci d'avance pour votre aide !

    Bonne journée !

  2. #2
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 200
    Points : 111
    Points
    111
    Par défaut
    Je me retourne vers vous...
    Je n'ai toujours pas trouvé d'où venait mon problème !

    J'ai suivi le pdf fourni avec les sources de Spring 3.0.2 sans résultats concluants.

    J'ai pu déployer et voir ma portlet en créant tous les fichiers de config, le controller etc. jusqu'à ce que je décommente cette ligne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <portlet-class>org.springframework.web.portlet.DispatcherPortlet</portlet-class>
    dans le fichier portlet.xml

    quand j'ai remplacé cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <portlet-class>testWithSpringJar</portlet-class>
    par celle juste au-dessus, ma portlet ne s'affiche même plus dans la liste dans liferay... Je suppose que cette ligne fait le lien quelque part... Mais je ne comprends toujours pas le problème.
    J'ai pourtant suivi à la lettre le tuto de mon précédent post...

    Est-il normal que mon fichier applicationContext.xml soit vide ?
    Je n'y ai mis que le contenu indiqué dans le tuto, c'est-à-dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?xml version="1.0" encoding="UTF-8"?>
    <beans>
    </beans>
    Mais je trouve ça bizare !

    Bref si quelqu'un pourrait m'éclairer s'il vous plait !

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/11/2010, 13h58
  2. [MVC] Fil d'ariane avec Spring Portlet MVC et AbstractWizardFormController
    Par FunkyBreizh dans le forum Spring Web
    Réponses: 0
    Dernier message: 27/04/2010, 17h37
  3. Spring Web MVC et Extjs
    Par bj304075 dans le forum Spring Web
    Réponses: 1
    Dernier message: 22/07/2009, 11h26
  4. [DisplayTag] DisplayTag et Spring Portlets
    Par ginkas31 dans le forum Taglibs
    Réponses: 4
    Dernier message: 18/02/2008, 15h23
  5. [Spring Portlets] select paramétré+affichage jsp
    Par myriam818 dans le forum Spring Web
    Réponses: 0
    Dernier message: 06/12/2007, 18h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo