Bonjour, je débute en java EE et je tente de réaliser un simple EJB stateful sans IDE.
j'ai deux modules : un EJB et un client.
mon module EJB contient les fichiers CalculRemote (interface) et CalculBean (implem) dont voici les codes :

CalculRemote.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
package calcul;
import javax.ejb.Remote;
@Remote
public interface CalculRemote
{
	void addNombre(int a);
	int getSomme();
	int getMoyenne();
	int getMinimum();
	int getMaximum();
}
CalculBean.java
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
package calcul;
import javax.ejb.Stateful;
import java.util.*;
@Stateful
public class CalculBean implements CalculRemote
{
	private Vector v = new Vector();
	public void addNombre(int a)
	{
		v.add(a);
	}
	public int getSomme()
	{
		int sum=0;
		for (int i=0;i<v.size();i++)
		{
			if (v.elementAt(i)!=null)
				sum=sum+Integer.parseInt((String)(v.elementAt(i)));
		}
		return sum;
	}
	public int getMoyenne()
	{
		int sum=0, cpt=0, avg=0;
		for (int i=0;i<v.size();i++)
		{
			if (v.elementAt(i)!=null)
			{
				cpt++;
				sum=sum+Integer.parseInt((String)(v.elementAt(i)));
			}
		}
		avg=sum/cpt;
		return avg;
	}
	public int getMinimum()
	{
		int j=0;
		//on recup le premier elem du vec non nul
		while (v.elementAt(j)==null)
		{
			j++;
		}
		int min=Integer.parseInt((String)(v.elementAt(j)));
		//on passe tous elem suivants non nuls en revue
		for (int i=j;i<v.size();i++)
		{
			if (v.elementAt(i)!=null)
			{
				if (Integer.parseInt((String)(v.elementAt(i)))<min)
					min=Integer.parseInt((String)(v.elementAt(i)));
			}
		}
		return min;
	}
	public int getMaximum()
	{
		int j=0;
		//on recup le premier elem du vec non nul
		while (v.elementAt(j)==null)
		{
			j++;
		}
		int max=Integer.parseInt((String)(v.elementAt(j)));
		//on passe tous elem suivants non nuls en revue
		for (int i=j;i<v.size();i++)
		{
			if (v.elementAt(i)!=null)
			{
				if (Integer.parseInt((String)(v.elementAt(i)))>max)
					max=Integer.parseInt((String)(v.elementAt(i)));
			}
		}
		return max;
	}
}
et du coté du module client j'ai :

Main.java
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

package calcul;
import javax.ejb.EJB;
public class Main
{
	@EJB
	private static calcul.CalculRemote calculRemote;
	public Main()
	{
	}
	public static void main(String[] args)
	{
		// test de addnombre au vecteur
		try
		{
			calculRemote.addNombre(3);
			calculRemote.addNombre(21);
			calculRemote.addNombre(111);
			
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		// test getsomme (3+21+111 = 135!!!)
		try
		{
			int res=0;
			res=calculRemote.getSomme();
			System.out.println("somme : " +res);
			//test getmoyenne = 45!!
			res=0;
			res=calculRemote.getMoyenne();
			System.out.println("moyenne : " +res);
			//test getmin() = 3!!
			res=0;
			res=calculRemote.getMinimum();
			System.out.println("minimum: " +res);
			//test getmax() = 111!!
			res=0;
			res=calculRemote.getMaximum();
			System.out.println("maximum : " +res);
			System.out.println("fin des tests - ok");
		}
		catch(Exception e)
		{
			e.printStackTrace();
			System.out.println("arret des tests - erreur");
		}
	}
}
j'ai compilé et empaqueté le module EJB et le module client et créé une archive .ear contenant ces deux modules et je veux donc déployer avec glassfish v2 UR2 et lors du déployement j'obtiens l'erreur suivante :

"Deploying application in domain failed; Error loading deployment descriptors for module [applictest2part2] -- No matching injection setter method or injection field found for injection property CalculRemote on class calcul.Main for component dependency Unresolved Ejb-Ref calcul.Main/CalculBean@jndi: @null@calcul.CalculRemote@Session@ejb-labo1.jar#CalculBean"

Voila je ne vois pas d'ou peut venir mon erreur, si quelqu'un à une idée?

Merci d'avance