Bonjour,

Je crée un nouveau projet JSF.
J'ai réussi à faire un build avec Maven d'une demo mais pas le test avec Wildfly intégré à Eclipse, mais le problème que je rencontre actuellement est le suivant:
Lorsque je cherche à faire un projet s'inspirant de cette demo en créant un formulaire d'inscription pour étudiants: j'ai une version avec certains import javax.faces qui compile et une autre avec jakarta.* qui elle ne compile pas.
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
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
   xmlns:f="http://xmlns.jcp.org/jsf/core"
   xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<meta charset="UTF-8">
<title>Insert title here</title>
</h:head>
<h:body>
<f:view>
   <h:form>
     <h:panelGrid columns="2"> 
      <h:outputText value="Entrer votre prenom" />
      <h:panelGroup>
      <h:inputText id="firstname" value="#{studentControllerBean.firstName}" required="true">
      </h:inputText>      
      </h:panelGroup>     
      <h:outputText value="Entrer votre nom de famille" />
      <h:panelGroup>
      <h:inputText id="lastname" value="#{studentControllerBean.lastName}" required="true">
      </h:inputText>      
      </h:panelGroup>
 
      <h:outputText value="Selectionner un cursus (abonnement)" />
      <h:panelGroup>
      <h:selectOneListbox id="abonne" value="#{studentControllerBean.abonne}">
        <f:selectItems value="#{studentControllerBean.abonneItems}"/>
      </h:selectOneListbox>
      </h:panelGroup>
     </h:panelGrid>
 
     <h:commandButton value="Valider" action="#{studentControllerBean.registeroutcome}"/>
   </h:form>
</f:view>
</h:body>
</html>
Le code simplifié de mon bean:
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
 
@ManagedBean
@RequestScoped
public class StudentControllerBean {
 
	public String firstName;
	public String lastName;
	public int abonne;
 
	public Student registerStudent;
 
	@Inject
	public StudentDAO studentDAO;
 
	public List<Student> students;
 
	// en dur pour l'instant
	private SelectItem[] abonneItems = {
			    new SelectItem(1, "science"),
			    new SelectItem(2, "engineering"),
			    new SelectItem(3, "building") };
si je remplace les imports (en commentaire quand ça marchait, et decommenté la nouvelle version
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
import javax.faces.bean.ManagedBean;
///import jakarta.inject.Named; // prefer this on : jakarta CDI 
//import javax.faces.bean.RequestScoped;
import jakarta.enterprise.context.RequestScoped;
ça ne compile plus. J'obtientdes 'cannot find symbol'.
Que faire, car j'ai vu que la version qui marche est deprecated.

Mon pom:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
  	<dependency>
  		<groupId>jakarta.platform</groupId>
  		<artifactId>jakarta.jakartaee-api</artifactId>
  		<version>8.0.0</version>
  		<scope>provided</scope>
  	</dependency>  	
<!-- https://mvnrepository.com/artifact/org.glassfish/jakarta.faces -->
  	<dependency>
  		<groupId>org.glassfish</groupId>
  		<artifactId>jakarta.faces</artifactId>
  		<version>4.0.0-M1</version>
  		<scope>provided</scope>
  	</dependency>
Question: est ce qu'il faut que j'utilise jakarta au lieu de javax seulement dans le pom et chercher une autre cause à mon problème de déploiement?
(J'ai regardé des fils de discussion https://stackoverflow.com/questions/...ries-via-maven)