Bonjour tous le monde ,
Je suis débutant en Maven.
J'ai crée un projet War (un composant Jsf réutilisable )
Mon but est de pouvoir utiliser ce composant dans un autre projet War .
Est ce qu'il ya quelqu'un qui a rencontré ce genre de chose.
d'avance








Bonjour tous le monde ,
Je suis débutant en Maven.
J'ai crée un projet War (un composant Jsf réutilisable )
Mon but est de pouvoir utiliser ce composant dans un autre projet War .
Est ce qu'il ya quelqu'un qui a rencontré ce genre de chose.
d'avance
Petite question : pourquoi ton composant JSF est il dans un projet WAR ?
Je te demande cela, dans la mesure où moi même j'ai développé pas mal de composants JSF, mais ils se trouvent dans un JAR, qui fournit les fichiers Java, mais aussi les fichiers XHTML (pour les compositions) ainsi que les fichiers XML adéquats (taglib, faces-config)...
C'est juste histoire d'essayer de te simplifier les choses![]()
Nous sommes tous semblables, alors acceptons nos différences !
--------------------------------------------------------------
Liens : Blog | Page DVP | Twitter
Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
Critiques : Apache Maven








merci pour les réponses trés rapides.
Bon franchement c'est mon premier composant jsf et c'est structuré comme un projet war,alors j'ai pas pensé lorsque j'ai voulu l'utiliser dans d'autres projets à le rendre un jar.
si c'est possible romaintaz, tu peut me donner la structure de tes projet composants jsf.
Merci beaucoup d'avance.
Grosso modo:
src/main/java -> sources Java
src/main/resources/META-INF/my.taglib.xml
src/main/resources/META-INF/faces-config.xml
src/main/resources/META-INF/compositions/*.xhtml -> Mes composants de composition.
C'est tout ce dont j'ai besoin...
Après, mon WAR est dépendant de cette librairie.
(j'utilise JSF 1.2 et Facelets, pour information)
Nous sommes tous semblables, alors acceptons nos différences !
--------------------------------------------------------------
Liens : Blog | Page DVP | Twitter
Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
Critiques : Apache Maven








J'utilise aussi JSF 1.2 et facelets+richfaces.
J'ai essayé d'utiliser la structure que tu m'a donné.
il y a quelques petits soucis lorsque j'essaye d'utiliser mon composant dans le projet War. je pense que mon web.xml est mal configuré.
pour le taglib je l'ai mis
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 <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" 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"> <display-name>kmji18njsf</display-name> <!-- Configuration Spring --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:spring/kmji18n-application-context.xml </param-value> </context-param> <!--custom taglibs --> <context-param> <param-name>facelets.LIBRARIES</param-name> <param-value>classpath*:taglibs/i18n.taglib.xml </param-value> </context-param> <!-- Use Documents Saved as *.xhtml --> <context-param> <param-name>javax.faces.DEFAULT_SUFFIX</param-name> <param-value>.xhtml</param-value> </context-param> <!-- Special Debug Output for Development --> <context-param> <param-name>facelets.DEVELOPMENT</param-name> <param-value>true</param-value> </context-param> <context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>server</param-value> </context-param> <context-param> <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name> <param-value>com.sun.facelets.FaceletViewHandler</param-value> </context-param> <!-- Optional JSF-RI Parameters to Help Debug --> <context-param> <param-name>com.sun.faces.validateXml</param-name> <param-value>true</param-value> </context-param> <context-param> <param-name>com.sun.faces.verifyObjects</param-name> <param-value>true</param-value> </context-param> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <!-- Use /faces/* mapping to enable facestrace --> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping> <context-param> <param-name>org.richfaces.SKIN</param-name> <param-value>blueSky</param-value> </context-param> <filter> <display-name>RichFaces Filter</display-name> <filter-name>richfaces</filter-name> <filter-class>org.ajax4jsf.Filter</filter-class> <init-param> <param-name>forceparser</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>enable-cache</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>richfaces</filter-name> <servlet-name>Faces Servlet</servlet-name> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>INCLUDE</dispatcher> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
classpath*:taglibs/i18n.taglib.xml(pareil que fichier de context spring)
mais il arrive pas à identifier le taglib et il me signale :
java.io.FileNotFoundException: classpath*:taglibs/i18n.taglib.xml
(par contre de la meme maniere il peut identifier le fichier contexte de spring)
il y'a d'autres erreures comme :
GRAVE: Received 'javax.el.PropertyNotFoundException' when invoking action listener '#{sessionBean.goEditMode}' for component 'j_id3'
log de tomcat :
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 java.lang.RuntimeException: Cannot find FacesContext at javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1841) at javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1658) at org.apache.jsp.jsp.list_jsp._jspx_meth_f_005fview_005f0(list_jsp.java:101) at org.apache.jsp.jsp.list_jsp._jspService(list_jsp.java:77) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:694) at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:665) at org.apache.jsp.index_jsp._jspService(index_jsp.java:62) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:595)








Bonjour,
J'ai résolu mon problème tout en respectant la structure de projet que romaintaz m'a donné:
et ça marche trop bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5src/main/java -> sources Java src/main/resources/META-INF/my.taglib.xml src/main/resources/META-INF/faces-config.xml src/main/resources/META-INF/compositions/*.xhtml -> Mes composants de composition.
tous le monde et un grand merci à romaintaz
Partager