Publicité
+ Répondre à la discussion
Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 20 sur 24
  1. #1
    Expert Confirmé Sénior


    Inscrit en
    octobre 2003
    Messages
    7 895
    Détails du profil
    Informations forums :
    Inscription : octobre 2003
    Messages : 7 895
    Points : 30 542
    Points
    30 542

    Par défaut Application Hibernate/JPA - Spring2.5 - Tapestry5

    Bonjour à tous,

    Loïc Frering et Baptiste Meurant vous proposent l'article suivant qui concerne le développement d'applications web avec le triplet Hibernate/JPA - Spring - Tapestry, mise en place de projet avec Maven 2.

    http://loic-frering.developpez.com/t...ring-tapestry/

    N'hésitez pas à commenter cet article.

  2. #2
    Invité régulier
    Inscrit en
    mars 2003
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : mars 2003
    Messages : 28
    Points : 6
    Points
    6

    Par défaut

    Un grand merci pour ce tutoriel qui permet de découvrir les technologies et de les utiliser dans un projet.
    Je suis friand de ce genre de tutoriaux car ils me permettent de m'auto-former.

    Le dernier sur netbeans 6.5 et les EJB3 était aussi très bon.

    Merci à vous qui prenez le temps de nous faire partager vos connaissances et votre expérience.

  3. #3
    Invité de passage
    Inscrit en
    mars 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : mars 2009
    Messages : 3
    Points : 2
    Points
    2

    Par défaut création du projet dans eclipse...

    Je suis bloqué dès le début.
    Je ne parviens pas à créer mon projet le projet dans eclipse...
    Avez vous réussi?

    Merci

  4. #4
    Invité de passage
    Inscrit en
    avril 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : avril 2006
    Messages : 2
    Points : 2
    Points
    2

    Par défaut Merci + proposition

    Bonjour,

    merci pour ce tutorial clair et synthètique pour se lancer dans les grosses applications Web en Java avec Tapestry !

    Proposition pour améliorer la lisibilité du code: on peut factoriser les méthodes génériques des DAO dans un GenericDao et un GenericDaoImpl grace aux generics.
    Code :
    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
    public interface GenericDao<T, PK> {
     
    	/**
    	 * Synchroniser/ajouter l'état des objets de l'entityManager en base de données
    	 * 
    	 * @throws DataAccessException
    	 */
    	public void flush();
     
     
    	/**
    	 * Preparer un objet pour la base de données
    	 * 
    	 * @param o
    	 * @throws DataAccessException
    	 */
    	public void persist(T o);
     
     
     
    	/**
    	 * Supprimer un objet de la base de données
    	 * 
    	 * @param o
    	 * @throws DataAccessException
    	 */
    	public void remove(T o);
     
    	/**
    	 * Charger un objet persistant dont l'identifiant correspond à id
    	 * (renvoie null si l'identifiant n'existe pas)
    	 * 
    	 * @param id
    	 * @return
    	 * @throws DataAccessException
    	 */
    	public T find(PK id);
     
     
    	/**
    	 * Charge tous les objets persistants du type spécifié par le composant DAO
    	 * 
    	 * @return List
    	 * @throws DataAccessException
    	 */
    	public List<T> findAll();
     
     
    }
    Code :
    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
     
    @Repository
    public abstract class GenericDaoImpl<T, PK> implements GenericDao<T, PK> {
     
    	protected Class<T> type = null;
    	private static final Log log = LogFactory.getLog(GenericDaoImpl.class);
     
    	@PersistenceContext
    	protected EntityManager em;
     
    	/**
    	 * Contructeur sans paramètre. Le type effectif T est retrouvé par réflexion
    	 * générique.
    	 */
    	protected GenericDaoImpl() {
    		this.type = this.getParameterizedType(this.getClass());
    	}
     
    	/**
    	 * Traitement de réflexion générique. Détermine et positionne le type
    	 * manipulé par ce gestionnaire.
    	 */
    	@SuppressWarnings("unchecked")
    	private Class<T> getParameterizedType(Class clazz) {
    		Class<T> specificType = null;
    		ParameterizedType parameterizedType = (ParameterizedType) clazz
    				.getGenericSuperclass();
    		specificType = (Class<T>) parameterizedType.getActualTypeArguments()[0];
    		return specificType;
    	}
     
    	public void flush() {
    		em.flush();
    	}
     
    	public void persist(T o) {
    		em.persist(o);
    	}
     
    	public void remove(T o) {
    			em.remove(o);
    	}
     
    	@SuppressWarnings("unchecked")
    	public T find(PK primaryKey) {
    		log.debug("Getting " + type.getCanonicalName() + ": " + primaryKey.toString());
    		return em.find(type,primaryKey);
    	}
     
    	@SuppressWarnings("unchecked")
    	public List<T> findAll() {
    		return (List<T>) em.createQuery(
    				"SELECT x FROM " + type.getSimpleName() + " x").getResultList();
    	}
     
    	@SuppressWarnings("unchecked")
    	protected List<T> getEntityList(String queryString) {
    		Query query = em.createQuery(queryString);
    		return (List<T>) query.getResultList();
    	}
     
    	@SuppressWarnings("unchecked")
    	protected T getSingleEntity(String queryString) {
    		Query query = em.createQuery(queryString);
    		return (T) query.getSingleResult();
    	}
    }

  5. #5
    Invité de passage
    Inscrit en
    avril 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : avril 2006
    Messages : 2
    Points : 2
    Points
    2

    Par défaut

    Citation Envoyé par thegeniusone Voir le message
    Je suis bloqué dès le début.
    Je ne parviens pas à créer mon projet le projet dans eclipse...
    Avez vous réussi?

    Merci
    Que n'arrives-tu pas à faire ?
    - installer les plugins ? (et donc voir maven dans le menu New)
    - créer le projet Eclipse en utilisant le plugin m2 ?

  6. #6
    Candidat au titre de Membre du Club
    Inscrit en
    décembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 10
    Points : 10
    Points
    10

    Par défaut

    Bonjour à tous et merci pour les retours

    Rickou : Nous n'avons effectivement pas utilisé les GenericDao mais je suis d'accord que pour une prochaine itération, cela pourrait être intéressant, ça allégerait nos DAO spécifiques et éviterait de se répéter

    thegeniusone : il me semble avoir répondu à ton problème lorsque tu m'as envoyé un message perso -> étais-ce bien là la cause de ton soucis ?

  7. #7
    Invité de passage
    Inscrit en
    avril 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : avril 2009
    Messages : 1
    Points : 1
    Points
    1

    Par défaut classnotfound "org.apache.tapestry5.spring.TapestrySpringFilter"

    Bonjour,
    J’ai essayé de dérouler le tutoriel « Tutoriel Hibernate/JPA - Spring2.5 - Tapestry5 » (du 16/12/2008 , par Loïc Frering & Baptiste Meurant)

    J'arrive sans problème jusqu'à l'étape "2-3-2. Premier test avec la configuration par défaut"
    La page web s'affiche, j'obtiens bien "skillbrowser Start Page"
    (Au passage il ne faut pas oublier d'installer le plugin eclipse « Maven Integration for WTP » à partir de http://m2eclipse.sonatype.org/update)

    La ou ça se complique, c'est pour les parties 2-3-3. Configuration de Tapestry / 2-3-4. Page d'accueil
    J'effectue les actions suivantes :
    -> Modification du web.xml comme indiqué
    -> Création de la classe Index.java comme indiqué
    -> Création du fichier Index.tml (ici un petit doute : il est indiqué qu'il faut créer ce fichier dans src/main/resources or il me parait plus logique de le créer dans src\main\webapp)

    Je démarre Tomcat, et là, patatra, j'obtiens l'erreur suivante :
    "java.lang.ClassNotFoundException: org.apache.tapestry5.spring.TapestrySpringFilter"
    Comme cette classe fait partie du package tapestry-spring, dans mon pom.xml, je décide de remplacer :
    Code xml :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <dependency>
                <groupId>org.apache.tapestry</groupId>
                <artifactId>tapestry-core</artifactId>
                <version>${tapestry-release-version}</version>
            </dependency>
    par
     <dependency>
                <groupId>org.apache.tapestry</groupId>
                <artifactId>tapestry-spring</artifactId>
                <version>${tapestry-release-version}</version>
     </dependency>
    (tapestry-spring a une dépendance sur tapestry-core)

    Je redemarre tomcat, et ici j'obtiens l'erreur suivante :
    java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext
    hum hum
    En cherchant un peu, je me rend compte que "tapestry-spring 5.1.0.2" (et non pas 5.0.15) a une dépendance sur "spring-web 2.5.6" (qui contient org/springframework/web/context/WebApplicationContext)
    Je tente le coup et je passe donc avec une tapestry-release-version 5.1.0.2

    Je redemarre tomcat, et cette fois j'ai l'erreur suivante :
    context.ContextLoader Context initialization failed
    org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
    Mais dans le tutorial il n'est pas mentionné de fichier "applicationContext.xml" à configurer (est-ce implicite?)

    Voilà. Pouvez vous m'aider sur ce point? Suis-je sur la bonne piste?

    Merci pour votre aide!

    Mon web.xml :
    Code xml :
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app
            PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
            "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
        <display-name>SkillBrowser</display-name>
     
    	<context-param>
    	    <!-- The only significant configuration for Tapestry 5, this informs Tapestry of where to look for pages, components and mixins. -->
    	    <param-name>tapestry.app-package</param-name>
    	    <param-value>net.ilabs.skillbrowser.web</param-value>
    	</context-param>
     
    	<filter>
    	    <filter-name>app</filter-name>
    	    <filter-class>org.apache.tapestry5.spring.TapestrySpringFilter</filter-class>
    	</filter>
     
    	<filter-mapping>
    	    <filter-name>app</filter-name>
    	    <url-pattern>/*</url-pattern>
    	</filter-mapping>
     
    	<welcome-file-list>
    		<welcome-file>Index</welcome-file>
    	</welcome-file-list>
    </web-app>
    Mon pom.xml final


    Code xml :
    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
     
    <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
        <modelVersion>4.0.0</modelVersion>
        <groupId>net.ilabs</groupId>
        <artifactId>skillbrowser</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>war</packaging>
        <name>skillbrowser Tapestry 5 Application</name>
        <dependencies>
            <!-- <dependency>
                <groupId>org.apache.tapestry</groupId>
                <artifactId>tapestry-core</artifactId>
                <version>${tapestry-release-version}</version>
            </dependency> -->
    		 <dependency>
                <groupId>org.apache.tapestry</groupId>
                <artifactId>tapestry-spring</artifactId>
                <version>${tapestry-release-version}</version>
            </dependency>
            <!-- A dependency on either JUnit or TestNG is required, or the surefire plugin (which runs the tests)
    will fail, preventing Maven from packaging the WAR. Tapestry includes a large number
    of testing facilities designed for use with TestNG (<a href="http://testng.org/" target="_blank">http://testng.org/</a>), so it's recommended. -->
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>5.1</version>
                <classifier>jdk15</classifier>
                <scope>test</scope>
            </dependency>
     
        </dependencies>
        <build>
            <finalName>skillbrowser</finalName>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.5</source>
                        <target>1.5</target>
                        <optimize>true</optimize>
                    </configuration>
                </plugin>
     
                <!-- Run the application using "mvn jetty:run" -->
                <plugin>
                    <groupId>org.mortbay.jetty</groupId>
                    <artifactId>maven-jetty-plugin</artifactId>
                    <version>6.1.9</version>
                    <configuration>
                        <!-- Log to the console. -->
                        <requestLog implementation="org.mortbay.jetty.NCSARequestLog">
                            <!-- This doesn't do anything for Jetty, but is a workaround for a Maven bug
                                 that prevents the requestLog from being set. -->
                            <append>true</append>
                        </requestLog>
                    </configuration>
                </plugin>
     
     
                <!-- This changes the WAR file packaging so that what would normally go into WEB-INF/classes
                 is instead packaged as WEB-INF/lib/skillbrowser.jar.  This is necessary for Tapestry
                 to be able to search for page and component classes at startup. Only
                 certain application servers require this configuration, please see the documentation
                 at the Tapestry 5 project page (<a href="http://tapestry.apache.org/tapestry5/" target="_blank">http://tapestry.apache.org/tapestry5/</a>). -->
     
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <configuration>
                        <archiveClasses>true</archiveClasses>
                    </configuration>
                </plugin>
            </plugins>
        </build>
     
        <reporting>
     
            <!-- Adds a report detailing the components, mixins and base classes defined by this module. -->
            <plugins>
                <plugin>
                    <groupId>org.apache.tapestry</groupId>
                    <artifactId>tapestry-component-report</artifactId>
                    <version>${tapestry-release-version}</version>
                    <configuration>
                        <rootPackage>net.ilabs.skillbrowser</rootPackage>
                    </configuration>
                </plugin>
            </plugins>
        </reporting>
     
        <repositories>
            <!-- This can be commented out when the tapestry-release-version is a not a snapshot.
     The non-snapshot Tapestry artifacts are distributed through the central
     repository at ibiblio.     -->
     
            <repository>
                <id>tapestry-snapshots</id>
                <url>http://tapestry.formos.com/maven-snapshot-repository/</url>
            </repository>
     
            <repository>
                <id>codehaus.snapshots</id>
                <url>http://snapshots.repository.codehaus.org</url>
            </repository>
            <repository>
                <id>OpenQA_Release</id>
                <name>OpenQA Release Repository</name>
                <url>http://archiva.openqa.org/repository/releases/</url>
            </repository>
        </repositories>
     
        <pluginRepositories>
     
            <!-- As above, this can be commented out when access to the snapshot version
    of a Tapestry Maven plugin is not required.   -->
            <pluginRepository>
                <id>tapestry-snapshots</id>
                <url>http://tapestry.formos.com/maven-snapshot-repository/</url>
            </pluginRepository>
     
     
        </pluginRepositories>
     
        <properties>
            <tapestry-release-version>5.1.0.2</tapestry-release-version>
        </properties>
    </project>

  8. #8
    Membre du Club
    Inscrit en
    octobre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : octobre 2004
    Messages : 37
    Points : 42
    Points
    42

    Par défaut

    Bonjour, et merci pour ce tutorial.

    Maven Integration for WTP est-il un plugin permettant d'ajouter le serveur Tomcat dans le projet ? Car sinon je n'arrive pas à associer le projet de test "skillbrowser" avec un serveur Tomcat installé, eclipse me dit qu'il ne trouve aucun projet à associer au serveur.


  9. #9
    Invité régulier
    Inscrit en
    août 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : août 2007
    Messages : 5
    Points : 5
    Points
    5

    Par défaut

    Je bloque ici pareil, help please

    Citation Envoyé par francoismalet Voir le message
    Bonjour,
    J’ai essayé de dérouler le tutoriel « Tutoriel Hibernate/JPA - Spring2.5 - Tapestry5 » (du 16/12/2008 , par Loïc Frering & Baptiste Meurant)

    J'arrive sans problème jusqu'à l'étape "2-3-2. Premier test avec la configuration par défaut"
    La page web s'affiche, j'obtiens bien "skillbrowser Start Page"
    (Au passage il ne faut pas oublier d'installer le plugin eclipse « Maven Integration for WTP » à partir de http://m2eclipse.sonatype.org/update)

    La ou ça se complique, c'est pour les parties 2-3-3. Configuration de Tapestry / 2-3-4. Page d'accueil
    J'effectue les actions suivantes :
    -> Modification du web.xml comme indiqué
    -> Création de la classe Index.java comme indiqué
    -> Création du fichier Index.tml (ici un petit doute : il est indiqué qu'il faut créer ce fichier dans src/main/resources or il me parait plus logique de le créer dans src\main\webapp)

    Je démarre Tomcat, et là, patatra, j'obtiens l'erreur suivante :

    Comme cette classe fait partie du package tapestry-spring, dans mon pom.xml, je décide de remplacer :
    Code xml :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <dependency>
                <groupId>org.apache.tapestry</groupId>
                <artifactId>tapestry-core</artifactId>
                <version>${tapestry-release-version}</version>
            </dependency>
    par
     <dependency>
                <groupId>org.apache.tapestry</groupId>
                <artifactId>tapestry-spring</artifactId>
                <version>${tapestry-release-version}</version>
     </dependency>
    (tapestry-spring a une dépendance sur tapestry-core)

    Je redemarre tomcat, et ici j'obtiens l'erreur suivante :

    hum hum
    En cherchant un peu, je me rend compte que "tapestry-spring 5.1.0.2" (et non pas 5.0.15) a une dépendance sur "spring-web 2.5.6" (qui contient org/springframework/web/context/WebApplicationContext)
    Je tente le coup et je passe donc avec une tapestry-release-version 5.1.0.2

    Je redemarre tomcat, et cette fois j'ai l'erreur suivante :

    Mais dans le tutorial il n'est pas mentionné de fichier "applicationContext.xml" à configurer (est-ce implicite?)

    Voilà. Pouvez vous m'aider sur ce point? Suis-je sur la bonne piste?

    Merci pour votre aide!

    Mon web.xml :
    Code xml :
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app
            PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
            "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
        <display-name>SkillBrowser</display-name>
     
    	<context-param>
    	    <!-- The only significant configuration for Tapestry 5, this informs Tapestry of where to look for pages, components and mixins. -->
    	    <param-name>tapestry.app-package</param-name>
    	    <param-value>net.ilabs.skillbrowser.web</param-value>
    	</context-param>
     
    	<filter>
    	    <filter-name>app</filter-name>
    	    <filter-class>org.apache.tapestry5.spring.TapestrySpringFilter</filter-class>
    	</filter>
     
    	<filter-mapping>
    	    <filter-name>app</filter-name>
    	    <url-pattern>/*</url-pattern>
    	</filter-mapping>
     
    	<welcome-file-list>
    		<welcome-file>Index</welcome-file>
    	</welcome-file-list>
    </web-app>
    Mon pom.xml final


    Code xml :
    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
     
    <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
        <modelVersion>4.0.0</modelVersion>
        <groupId>net.ilabs</groupId>
        <artifactId>skillbrowser</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>war</packaging>
        <name>skillbrowser Tapestry 5 Application</name>
        <dependencies>
            <!-- <dependency>
                <groupId>org.apache.tapestry</groupId>
                <artifactId>tapestry-core</artifactId>
                <version>${tapestry-release-version}</version>
            </dependency> -->
    		 <dependency>
                <groupId>org.apache.tapestry</groupId>
                <artifactId>tapestry-spring</artifactId>
                <version>${tapestry-release-version}</version>
            </dependency>
            <!-- A dependency on either JUnit or TestNG is required, or the surefire plugin (which runs the tests)
    will fail, preventing Maven from packaging the WAR. Tapestry includes a large number
    of testing facilities designed for use with TestNG (<a href="http://testng.org/" target="_blank">http://testng.org/</a>), so it's recommended. -->
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>5.1</version>
                <classifier>jdk15</classifier>
                <scope>test</scope>
            </dependency>
     
        </dependencies>
        <build>
            <finalName>skillbrowser</finalName>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.5</source>
                        <target>1.5</target>
                        <optimize>true</optimize>
                    </configuration>
                </plugin>
     
                <!-- Run the application using "mvn jetty:run" -->
                <plugin>
                    <groupId>org.mortbay.jetty</groupId>
                    <artifactId>maven-jetty-plugin</artifactId>
                    <version>6.1.9</version>
                    <configuration>
                        <!-- Log to the console. -->
                        <requestLog implementation="org.mortbay.jetty.NCSARequestLog">
                            <!-- This doesn't do anything for Jetty, but is a workaround for a Maven bug
                                 that prevents the requestLog from being set. -->
                            <append>true</append>
                        </requestLog>
                    </configuration>
                </plugin>
     
     
                <!-- This changes the WAR file packaging so that what would normally go into WEB-INF/classes
                 is instead packaged as WEB-INF/lib/skillbrowser.jar.  This is necessary for Tapestry
                 to be able to search for page and component classes at startup. Only
                 certain application servers require this configuration, please see the documentation
                 at the Tapestry 5 project page (<a href="http://tapestry.apache.org/tapestry5/" target="_blank">http://tapestry.apache.org/tapestry5/</a>). -->
     
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <configuration>
                        <archiveClasses>true</archiveClasses>
                    </configuration>
                </plugin>
            </plugins>
        </build>
     
        <reporting>
     
            <!-- Adds a report detailing the components, mixins and base classes defined by this module. -->
            <plugins>
                <plugin>
                    <groupId>org.apache.tapestry</groupId>
                    <artifactId>tapestry-component-report</artifactId>
                    <version>${tapestry-release-version}</version>
                    <configuration>
                        <rootPackage>net.ilabs.skillbrowser</rootPackage>
                    </configuration>
                </plugin>
            </plugins>
        </reporting>
     
        <repositories>
            <!-- This can be commented out when the tapestry-release-version is a not a snapshot.
     The non-snapshot Tapestry artifacts are distributed through the central
     repository at ibiblio.     -->
     
            <repository>
                <id>tapestry-snapshots</id>
                <url>http://tapestry.formos.com/maven-snapshot-repository/</url>
            </repository>
     
            <repository>
                <id>codehaus.snapshots</id>
                <url>http://snapshots.repository.codehaus.org</url>
            </repository>
            <repository>
                <id>OpenQA_Release</id>
                <name>OpenQA Release Repository</name>
                <url>http://archiva.openqa.org/repository/releases/</url>
            </repository>
        </repositories>
     
        <pluginRepositories>
     
            <!-- As above, this can be commented out when access to the snapshot version
    of a Tapestry Maven plugin is not required.   -->
            <pluginRepository>
                <id>tapestry-snapshots</id>
                <url>http://tapestry.formos.com/maven-snapshot-repository/</url>
            </pluginRepository>
     
     
        </pluginRepositories>
     
        <properties>
            <tapestry-release-version>5.1.0.2</tapestry-release-version>
        </properties>
    </project>

  10. #10
    Membre du Club
    Inscrit en
    octobre 2006
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 266
    Points : 66
    Points
    66

    Par défaut

    Un de plus qui bloque de la même façon....

    Si quelqu'un a résolu ce problème et me dire comment est-ce qu'il à fait.

    Je vous remercie d'avance!

  11. #11
    Membre du Club
    Inscrit en
    octobre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : octobre 2004
    Messages : 37
    Points : 42
    Points
    42

    Par défaut

    Même problème par ici.

  12. #12
    Invité de passage
    Inscrit en
    décembre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 3
    Points : 2
    Points
    2

    Par défaut

    Bonjour à tous,

    J'ai reussi a contourner le problème de la manière suivante :

    Ajouter dans le pom.xml les dépendances suivantes:
    Code xml :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
             <dependency>
                <groupId>org.apache.tapestry</groupId>
                <artifactId>tapestry-spring</artifactId>
                <version>${tapestry-release-version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring-version}</version>
            </dependency>
    ainsi que la propriété
    Code :
    1
    2
     
    <spring-version>2.5.6</spring-version>
    dans la balise properties.

    Voici mon nouveau fichier web.xml

    Code xml :
    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
     
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
                http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
            version="2.4">
        <display-name>SkillBrowser</display-name>
     
    	<context-param>
    		<param-name>contextConfigLocation</param-name>
    		<param-value>classpath:applicationContext.xml</param-value>
    	</context-param>
     
    	<context-param>
    	    <!-- The only significant configuration for Tapestry 5, this informs Tapestry of where to look for pages, components and mixins. -->
    	    <param-name>tapestry.app-package</param-name>
    	    <param-value>net.ilabs.skillbrowser</param-value>
    	</context-param>
     
    	<filter>
    	    <filter-name>app</filter-name>
    	    <filter-class>org.apache.tapestry5.spring.TapestrySpringFilter</filter-class>
    	</filter>
     
    	<filter-mapping>
    	    <filter-name>app</filter-name>
    	    <url-pattern>/*</url-pattern>
    	</filter-mapping>
     
    	<welcome-file-list>
    		<welcome-file>Index</welcome-file>
    	</welcome-file-list>
     
    	<listener>
    		<listener-class>
    			org.springframework.web.context.ContextLoaderListener
    		</listener-class>
    	</listener>
     
    </web-app>

    Pour finir, creer un fichier applicationContext.xml dans le dossier src/main/resources avec ce contenu:

    Code xml :
    1
    2
    3
    4
    5
    6
    7
     
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
     
    </beans>

    NB :

    • Il y a une petite coquille dans le fichier web.xml (net.ilabs.skillbrowser à la place de net.ilabs.skillbrowser.web)
    • J'ai changé la verion de la web-app (2.3 -> 2.4 sinon j'avais des erreurs de tlds avec eclipse


    Je n'ai pas fait la totalité du tutoriel, mais ca pourra au moins vous debloquer et avancer.

  13. #13
    Invité de passage
    Inscrit en
    octobre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : octobre 2009
    Messages : 3
    Points : 3
    Points
    3

    Par défaut

    Bonjour,

    Pour ma part je suis bloqué au 4.3 au niveau de la configuration de la console hibernate.

    La fenêtre de configuration est légèrement différente de celle montrée dans le tuto, le module a du évolué depuis.

    Il y a entre autre un champ "Database connection" avec les choix "JPA project configured connection", "Hibernate configured connection" et "MySQL". Ce dernier ayant été ajouté par moi même. Si je choisis "JPA" j'ai une erreur me disant que mon projet n'est pas un JPA project, j'ai donc choisit l'option hibernate.

    Mon problème est relatif au champ "Naming strategy" : quand je clique sur Browse il ne trouve rien dans matching items. Et lorsque je lance le module hibernate de génération de code (après l'avoir configuré comme expliqué dans le tuto) j'ai l'erreur suivante :

    org.hibernate.console.HibernateConsoleRuntimeException: Could not create JPA based Configuration
    Could not create JPA based Configuration
    <No message>
    java.lang.reflect.InvocationTargetException
    java.lang.reflect.InvocationTargetException: <no message>
    java.lang.reflect.InvocationTargetException
    javax.persistence.PersistenceException: [PersistenceUnit: jpaTutos] Unable to instanciate naming strategy class: org.hibernate.cfg.NamingStrategy
    [PersistenceUnit: jpaTutos] Unable to instanciate naming strategy class: org.hibernate.cfg.NamingStrategy
    java.lang.InstantiationException: org.hibernate.cfg.NamingStrategy
    org.hibernate.cfg.NamingStrategy


    Il semble que le problème vienne ce cette naming strategy mais je ne vois pas comment le résoudre ...

    Quelqu'un peut il m'aider ??

    Merci

  14. #14
    Invité de passage
    Inscrit en
    octobre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : octobre 2009
    Messages : 3
    Points : 3
    Points
    3

    Par défaut

    Bon quelques infos au cas où d'autres bloqueraient sur le même problème.

    J'ai retiré la namingStrategy et malgré ça j'avais un problème de connexion à la base de donnée.

    Sous vista un problème fait que localhost n'est pas reconnu, il faut le remplacer par 127.0.0.1 (database.properties, et autre endroit peut être).

    Plus d'infos sur le post ci dessous :

    http://www.coderanch.com/t/40/455142...lipse-Ganymede

    La connexion à la base fonctionne après ce changement.

  15. #15
    Invité régulier
    Inscrit en
    avril 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 34
    Points : 8
    Points
    8

    Par défaut Ajout du projet sur Tomcat

    Bonjour et merci pour ce tuto.

    Je bloque au moment où il faut ajouter le projet au serveur tomcat.
    Je n'ai aucun projet à ajouter...
    Je remarque que mon projet n'a pas l'icône "web" sur son répertoire racine.

    Merci pour l'aide.

  16. #16
    Invité de passage
    Inscrit en
    octobre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : octobre 2009
    Messages : 3
    Points : 3
    Points
    3

    Par défaut

    Bonjour Benoit,

    J'ai eu le même problème, et je crois l'avoir résolu en cochant la case "Dynamic Web Module" dans Projects Facets des propriétés du projet SkillBrowser.

    Voila

  17. #17
    Invité régulier
    Inscrit en
    avril 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 34
    Points : 8
    Points
    8

    Par défaut

    Merci Ahoulba, ça permet effectivement à tomcat de "voir" le projet.

  18. #18
    Débutant
    Inscrit en
    octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : octobre 2007
    Messages : 285
    Points : 62
    Points
    62

    Par défaut

    je suis arrivé a creer le projet .Mais c est un simple projet Maven , ya pas l icone Web sur la racine du projet .du coup je n'arrive pas à le déployer sur un serveur .si quelqu'un peut m'aider je serais trés trés reconnaissante!
    Merci

  19. #19
    Débutant
    Inscrit en
    octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : octobre 2007
    Messages : 285
    Points : 62
    Points
    62

    Par défaut

    je suis sur eclipse 3.5 (Galileo ) et je vois pas dans les propriétés du Projet ,un Tag Project Facets .si quelqu'un m'aide

  20. #20
    Invité de passage
    Inscrit en
    décembre 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 25
    Points : 3
    Points
    3

    Par défaut

    on pourais avoir une maj du tuto suivant l'architype 5.1.5 ?

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •