Bonsoir,
Dans le cadre d ' un projet , je dois manipuler jsf , ejb et jpa avec pour consignes de créer un projet différent pour chaque technologie.
J ' ai donc créer un ear qui contient mon projet ejb ,mes entités définies dans un projet jpa et le projet jsf pour l ' interface web.
J ' ai réussi a implémenter tout ca , mais je bloque dans l ' appel des entités contenues dans le projet jpa pour le projet jsf.
J ' importe bien le projet jpa dans le classPath du projet Jsf où j ' ai créer une classe controleur me permettant de manipuler mes entités.
Ça fonctionne bien sous Eclipse( mon projet jsf reconnait bien mes entités), mais une fois lancé sur le serveur(Tomcat) , je me tape un joli java.lang.ClassNotFoundException car il ne reconnait pas l ' entité que je manipule dans les pages jsf ( l ' entité est bien déclaré dans le faces config)
Comment contourner ce problème svp ?
Classe controleur qui manipule l ' entité
extrait de la page jsf qui utilise l ' entité
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 package com.dev.controleurCompte; import java.util.List; import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.model.DataModel; import javax.faces.model.ListDataModel; import com.dev.daoCompte.Compte; import entites.CompteAcheteur; // import de l ' entité contenue dans mon projet jpa public class CompteControleur { private DataModel listeCompte; private CompteAcheteur nouveauCompte=new CompteAcheteur(); private CompteAcheteur editerCompte; private CompteAcheteur rechercheCompte=new CompteAcheteur(); private Compte ejb= new Compte(); public String creerCompte() { ejb.creerCompte(nouveauCompte); nouveauCompte = new CompteAcheteur(); listeCompte.setWrappedData(ejb.listeCompte()); return "consulterComptes"; } public String compteAEditer() { editerCompte = (CompteAcheteur) listeCompte.getRowData(); return "editerUser"; } public String modifierCompte() { ejb.modifierCompte(editerCompte); listeCompte.setWrappedData(ejb.listeCompte()); return "consulterComptes"; } public String supprimerCompte() { CompteAcheteur compte = (CompteAcheteur) listeCompte.getRowData(); ejb.supprimerCompte(compte); listeCompte.setWrappedData(ejb.listeCompte()); return null; } public String rechercherCompte() { rechercheCompte=ejb.chercherCompte(rechercheCompte.getCode()); return "infosCompte"; } public DataModel getListeCompte() { if (listeCompte == null) { listeCompte = new ListDataModel(); listeCompte.setWrappedData(ejb.listeCompte()); } return listeCompte; } public CompteAcheteur getNouveauCompte() { return nouveauCompte; } public void setNouveauCompte(CompteAcheteur nouveauCompte) { this.nouveauCompte = nouveauCompte; } public CompteAcheteur getEditerCompte() { return editerCompte; } public void setEditerCompte(CompteAcheteur editerCompte) { this.editerCompte = editerCompte; } public CompteAcheteur getRechercheCompte() { return rechercheCompte; } public void setRechercheCompte(CompteAcheteur rechercheCompte) { this.rechercheCompte = rechercheCompte; } public void setListeCompte(DataModel listeCompte) { this.listeCompte = listeCompte; } }
l ' erreur retournée est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <ice:outputText value="Id" /> <ice:inputText id="id" value="#{controleurCompte.nouveauCompte.code}" /> <ice:message for="id" tooltip="true" showDetail="true" showSummary="true" rendered="true"/>
Merci bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2GRAVE: "Servlet.service()" pour la servlet Blocking Servlet a généré une exception java.lang.ClassNotFoundException: entites.CompteAcheteur
Partager