Précédent   Forum du club des développeurs et IT Pro > Java > Communauté Java
Communauté Java Suivez l'actualité et contribuez à la vie de la communauté francophone Java
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 02/03/2009, 13h56   #1
Ricky81
Rédacteur
 
Inscription : octobre 2003
Messages : 7 924
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 7 924
Points : 29 318
Points : 29 318
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.
Ricky81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2009, 14h26   #2
NaBuCO
Invité régulier
 
Inscription : mars 2003
Messages : 27
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 27
Points : 6
Points : 6
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.
NaBuCO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2009, 22h48   #3
thegeniusone
Invité de passage
 
Inscription : 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
thegeniusone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2009, 15h00   #4
Rickou
Invité de passage
 
Inscription : 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();
	}
}
Rickou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2009, 15h02   #5
Rickou
Invité de passage
 
Inscription : avril 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 2
Points : 2
Points : 2
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 ?
Rickou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2009, 16h58   #6
loic.frering
Candidat au titre de Membre du Club
 
Inscription : décembre 2008
Messages : 10
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 10
Points : 10
Points : 10
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 ?
loic.frering est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2009, 16h18   #7
francoismalet
Invité de passage
 
Inscription : 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 :
Citation:
"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 :
Citation:
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 :
Citation:
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>
francoismalet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2009, 19h50   #8
curunir
Nouveau Membre du Club
 
Inscription : octobre 2004
Messages : 31
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 31
Points : 38
Points : 38
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.

curunir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2009, 00h25   #9
ManOfJava
Invité régulier
 
Inscription : août 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 5
Points : 5
Points : 5
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>
ManOfJava est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2009, 22h52   #10
Snyper
Membre du Club
 
Inscription : octobre 2006
Messages : 249
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 249
Points : 64
Points : 64
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!
Snyper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2009, 16h25   #11
curunir
Nouveau Membre du Club
 
Inscription : octobre 2004
Messages : 31
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 31
Points : 38
Points : 38
Même problème par ici.
curunir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2009, 17h34   #12
momoricien
Invité de passage
 
Inscription : décembre 2008
Messages : 3
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 3
Points : 2
Points : 2
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.
momoricien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2009, 12h03   #13
ahoulba
Invité de passage
 
Inscription : octobre 2009
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 3
Points : 3
Points : 3
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
ahoulba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2009, 13h51   #14
ahoulba
Invité de passage
 
Inscription : octobre 2009
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 3
Points : 3
Points : 3
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.
ahoulba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2009, 16h11   #15
benoit31
Invité régulier
 
Inscription : 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.
benoit31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2009, 19h23   #16
ahoulba
Invité de passage
 
Inscription : octobre 2009
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 3
Points : 3
Points : 3
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
ahoulba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2009, 09h51   #17
benoit31
Invité régulier
 
Inscription : avril 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 34
Points : 8
Points : 8
Merci Ahoulba, ça permet effectivement à tomcat de "voir" le projet.
benoit31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2010, 01h00   #18
s-ehtp
Débutant
 
Inscription : octobre 2007
Messages : 285
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 285
Points : 62
Points : 62
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
s-ehtp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2010, 01h03   #19
s-ehtp
Débutant
 
Inscription : octobre 2007
Messages : 285
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 285
Points : 62
Points : 62
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
s-ehtp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2010, 19h17   #20
zodeness
Invité de passage
 
Inscription : décembre 2008
Messages : 25
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 25
Points : 3
Points : 3
on pourais avoir une maj du tuto suivant l'architype 5.1.5 ?
zodeness est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 20h15.


 
 
 
 
Partenaires

Hébergement Web