J'ai un projet X qui dit utiliser des ressources d'un projet Y ( src, jsp, tld , img ...)
Est_il possible de faire un "lien virtuel" (genre ajouter un dependency de type source ) vers mon projet Y dans le fichier le pom.xml de X ?
J'ai un projet X qui dit utiliser des ressources d'un projet Y ( src, jsp, tld , img ...)
Est_il possible de faire un "lien virtuel" (genre ajouter un dependency de type source ) vers mon projet Y dans le fichier le pom.xml de X ?
Salut
Dans la dépendance que tu déclares, tu peux ajouter la ligne suivante :
Ensuite tu refais un mvn eclipse:eclipse et ca devrait être bon !
Code : Sélectionner tout - Visualiser dans une fenêtre à part <source>true</source>
A plus,
Mathieu
En ajoutant le tag <source> une erreur apparait :
Ce tag n'a pas l'air d'etre reconnu dans le fichier 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
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 [INFO] ------------------------------------------------------------------------ [ERROR] FATAL ERROR [INFO] ------------------------------------------------------------------------ [INFO] Error building POM (may not be this project's POM) Project ID: unknown POM Location: C:\WorkspaceIRAD7\...\pom.xml Reason: Parse error reading POM. Reason: Unrecognised tag: 'source' (position: START_TAG seen ...</version>\r\n\t\t\t<source>... @44:12) [INFO] ------------------------------------------------------------------------ [INFO] Trace org.apache.maven.reactor.MavenExecutionException: Parse error reading POM. Reason: Unrecognised tag: 'source' (position: START_TAG seen ...</version>\r\n\t\t \t<source>... @44:12) at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:365) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:278) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115) at org.apache.maven.cli.MavenCli.main(MavenCli.java:256) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused by: org.apache.maven.project.InvalidProjectModelException: Parse error reading POM. Reason: Unrecognised tag: 'source' (position: START_TAG seen ...</ version>\r\n\t\t\t<source>... @44:12) at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1310) at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1270) at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:414) at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:192) at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:515) at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:447) at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:351) ... 11 more Caused by: org.codehaus.plexus.util.xml.pull.XmlPullParserException: Unrecognised tag: 'source' (position: START_TAG seen ...</version>\r\n\t\t\t<source>... @44:12) at org.apache.maven.model.io.xpp3.MavenXpp3Reader.parseDependency(MavenXpp3Reader.java:1261) at org.apache.maven.model.io.xpp3.MavenXpp3Reader.parseModel(MavenXpp3Reader.java:2323) at org.apache.maven.model.io.xpp3.MavenXpp3Reader.read(MavenXpp3Reader.java:4422) at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1306) ... 17 more [INFO] ------------------------------------------------------------------------ [INFO] Total time: < 1 second [INFO] Finished at: Fri Feb 02 09:10:21 CET 2007 [INFO] Final Memory: 1M/2M [INFO] ------------------------------------------------------------------------
Si ton projet est un war, tu peux créer un autre war contenant tes resources partagés, l'ajouter comme dépendence de ton projet et configurer le plugin war.
N'oublie pas de configurer le plugin clean pour supprimer toutes les resources partagées copiées par cette conf dans ton arborescence de sources.
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 <dependency> <groupId>org.mycompany.shared</groupId> <artifactId>my-shared-webapp</artifactId> <version>1.0-SNAPSHOT</version> <type>war</war> <scope>runtime</scope> </dependency> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.0.1</version> <configuration> <archiveClasses>false</archiveClasses> <dependentWarExcludes>META-INF/**,WEB-INF/web.xml,WEB-INF/lib/** </dependentWarExcludes> </configuration> <executions> <execution> <phase>compile</phase> <goals> <!-- Needed to get the shared war overlay to do its thing before jetty:run --> <goal>inplace</goal> </goals> </execution> </executions> </plugin> </plugins> ... </build>
C'est farfait pour ce que je veux.
Maintenant je voudrais filtrer les import qui sont mis dans apporte par cette manip ( le dependentWarExcludes ne semble pas fonctionner lors d'une compile du projet principal )
Comment çà? Je l'utilise le dependentWarExcludes et çà fonctionne.Envoyé par DanielW33
As-tu une erreur, ou plus d'explications sur le non-fonctionnement?
Bonjour!
Là tu assumes que le war (dans mon cas c'est un jar en fait) est déjà compilé dans quelque repository, n'est-ce pas? Et si ce n'est pas le cas? Il n'y a pas une façon de faire maven aller jusqu'à mon autre projet partagé, le compiler, créer son jar, et l'ajouter comme une dépendance à mon projet principal?
Merci,
Tiago.
Partager