Bonjour,
Je suis débutant avec maven et je suis face à un drôle de problème.
J'ai 2 applications, l'application Security qui est un fait un ear composé d'un war donnant une interface web affin d'ajouter des utilisateur et d'un ejb qui permet à d'autre application de gérer l'authentification du user voulant accéder à cette seconde application. Et ma seconde application est une simple application web qui va utiliser mon application de sécurité.
Sachant que cette état je ne peux pas le changer (en fait c'est bien plus compliqué car je jongle avec une dizaine d'application qui ont de multiple dépendances mais je simplifie au maximum mon problème).
Donc mon problème est le suivant: J'ai des profiles pour centraliser les numéros de version de chaque sous module de chaque application. Ainsi dans mon application Security le pom.xml parent ressemble à ceci
et le pom.xml de mon ejb à cela
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 <?xml version="1.0"?> <project> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.myapp</groupId> <artifactId>myapp</artifactId> <version>1_0-SNAPSHOT</version> </parent> <groupId>com.myapp.security</groupId> <artifactId>security</artifactId> <packaging>pom</packaging> <name>Security Module</name> <version>${security-version}-SNAPSHOT</version> <modules> <module>security-ejb-client</module> <module>security-ejb-common</module> </modules> <profiles> <profile> <id>DEV</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <security-version>2_1</security-version> </properties> </profile> </profiles> ... </project>
Quand je lance la commande "mvn install" les fichier pom.xml sont recopié dans mon repository.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?xml version="1.0"?> <project> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.myapp.security</groupId> <artifactId>Security</artifactId> <version>${security-version}-SNAPSHOT</version> </parent> <groupId>com.myapp.security</groupId> <artifactId>security-ejb-client</artifactId> <name>Security Module client EJB</name> ... </project>
Mais maintenant quand je tente de compiler mon autre application qui a une dépendance sur security-ejb-client j'ai cette erreur car la propriété du pom.xml ${security-version} pour le parent n'est pas résolue et ce même si je rajoute la le profile de ma seconde application la bonne valeur pour cette propriété ...
C'est assez confus mais je ne vois pas comment vous expliquer ça plus simplement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 [INFO] snapshot com.myapp.security:security:${security-version}-SNAPSHOT: checking for updates from Remote Repository Downloading: ... (tout mes web repository) [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Error building POM (may not be this project's POM). Project ID: com.myapp.security:security-ejb-client:jar:null Reason: Cannot find parent: com.myapp.security:security for project: com.myapp.security:security-ejb-client:jar:null for project com.myapp.security:security-ejb-client:jar:null
Pourriez-vous m'aider?
Partager