Bonjour, j'ai un problème avec un projet javascript et sa dépendance sous la web app.
Mon projet est un multi-module,plusieurs jar, le javascript et le war.
j'utilise le javascript-maven-plugin pour le projet javascript comme decrit ici :
avascript-maven-tools
Le projet javascript se "compile" comme il faut , utilise bien Jasmine pour test unitaire et il y a bien a la fin un fichier JS dans le target.
Mais voila pour le wep-app, maven ne récupère pas ce fichier JS, mais tente de le télécharger, ce qui génère bien sur une erreur.
Je ne comprend pas pourquoi il va bien chercher les jar des mes autres modules mais pas le fichier JS.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 [INFO] Building Hopeless - Web App 2012-04-11-SNAPSHOT [INFO] ------------------------------------------------------------------------ Downloading: http://repository.jboss.org/nexus/content/groups/public-jboss/com/hopeless/hopeless-js/2012-04-11-SNAPSHOT/maven-metadata.xml Downloading: http://repository.jboss.org/nexus/content/groups/public-jboss/com/hopeless/hopeless-js/2012-04-11-SNAPSHOT/hopeless-js-2012-04-11-SNAPSHOT.js ... .. [ERROR] Failed to execute goal on project hopeless-webapp: Could not resolve dependencies for project com.hopeless:hopeless-webapp:war:2012-04-11-SNAPSHOT: Could not find artifact com.hopeless:hopeless-js:js:2012-04-11-SNAPSHOT in repository.jboss.org (http://repository.jboss.org/nexus/content/groups/public-jboss/) -> [Help 1]
Voici mes pom :
Pom parent:
Pom de hopeless-js
Code XML : 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 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.hopeless</groupId> <artifactId>hopeless-parent</artifactId> <version>2012-04-11-SNAPSHOT</version> <name>Hopeless - Parent</name> <packaging>pom</packaging> <description> Ce projet est le parent des projets constituants le jeu Hopeless World. </description> <modules> <!-- Domaine / DAO --> <module>hopeless-domaine</module> <!-- Sécurity --> <module>hopeless-security</module> <!-- Services Spring --> <module>hopeless-services</module> <!-- Service d'email --> <module>hopeless-email</module> <!-- javascript d'hopeless --> <module>hopeless-js</module> <!-- Web App d'hopeless --> <module>hopeless-webapp</module> <!-- futur module pour exposer les web services du métier --> <!-- <module>hopeless-ws</module> --> </modules> <!-- suite du pom --> </project>
Code XML : 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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.hopeless</groupId> <artifactId>hopeless-parent</artifactId> <version>2012-04-11-SNAPSHOT</version> </parent> <artifactId>hopeless-js</artifactId> <packaging>js</packaging> <!-- Name / Description --> <name>Hopeless - Javascript</name> <description> Ce projet est le javascript de Hopeless. </description> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.version>${project.version}</project.version> <buildtime>${maven.build.timestamp}</buildtime> </properties> <pluginRepositories> <pluginRepository> <id>snapshots.repository.codehaus.org</id> <name>Codehaus Snapshot Repository</name> <url>http://snapshots.repository.codehaus.org</url> <snapshots> <enabled>true</enabled> </snapshots> <releases> <enabled>false</enabled> </releases> </pluginRepository> </pluginRepositories> <build> <resources> <resource> <directory>src/maven-archiver</directory> <filtering>true</filtering> <targetPath>${project.build.directory}/maven-archiver</targetPath> </resource> </resources> <extensions> <extension> <groupId>org.codehaus.mojo</groupId> <artifactId>javascript-maven-plugin</artifactId> <version>2.0.0-alpha-1</version> </extension> </extensions> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <id>my-component-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <appendAssemblyId>true</appendAssemblyId> <descriptors> <descriptor>${basedir}/src/assembler/assembly.xml</descriptor> </descriptors> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jslint-maven-plugin</artifactId> <configuration> <!-- on skip tous pour jslint, on utilise jasmine qui est beaucoup mieu --> <skipTests>true</skipTests> <excludes> <exclude>*.js</exclude> <exclude>**/*.js</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>com.github.searls</groupId> <artifactId>jasmine-maven-plugin</artifactId> <version>1.2.0.0</version> <extensions>true</extensions> <executions> <execution> <goals> <goal>test</goal> </goals> </execution> </executions> <configuration> <!-- <skipTests>${maven.test.skip}</skipTests> --> <jsSrcDir>src/main/js</jsSrcDir> <jsTestSrcDir>src/test/js</jsTestSrcDir> <!-- <sourceIncludes> <include>src/test/resources/angular_1.0.6.min.js</include> </sourceIncludes> --> <!-- <specIncludes> <specInclude>src/test/resources/angular_1.0.6.min.js</specInclude> </specIncludes> --> <!-- <junitXmlReportFileName>../surefire-reports/TEST-jasmine.xml</junitXmlReportFileName> --> <preloadSources> <!-- Besoin de JQuery car angular utilise jqlite et ca plante avec jasmine --> <preloadSource>spec/lib/jquery-1.7.1.min.js</preloadSource> <preloadSource>spec/lib/angular_1.0.6.js</preloadSource> <preloadSource>spec/lib/angular-mocks.js</preloadSource> </preloadSources> </configuration> </plugin> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>yuicompressor-maven-plugin</artifactId> <version>1.1</version> <executions> <execution> <id>compress-js</id> <goals> <goal>compress</goal> </goals> </execution> </executions> <configuration> <nosuffix>true</nosuffix> <aggregations> <aggregation> <!-- remove files after aggregation (default: false) <removeIncluded>true</removeIncluded> --> <!-- insert new line after each concatenation (default: false) --> <insertNewLine>true</insertNewLine> <output>${project.build.directory}/hopeless-${project.version}.js</output> <!-- <output>${project.build.directory}/${project.build.finalName}-${project.version}.js</output> --> <!-- files to include, path relative to output's directory or absolute path --> <!--inputDir>base directory for non absolute includes, default to parent dir of output</inputDir --> <includes> <!-- <include>${basedir}/src/licenses/license.js</include> --> <include>**/*.js</include> </includes> <!-- files to exclude, path relative to output's directory <excludes> <exclude>**/*.pack.js</exclude> <exclude>**/compressed.css</exclude> </excludes> --> </aggregation> </aggregations> </configuration> </plugin> </plugins> </build> </project>
pom du hopeless-webapp
Code XML : 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 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.hopeless</groupId> <artifactId>hopeless-parent</artifactId> <version>2012-04-11-SNAPSHOT</version> </parent> <artifactId>hopeless-webapp</artifactId> <packaging>war</packaging> <!-- Name / Description --> <name>Hopeless - Web App</name> <description> Ce projet est la Web App Hopeless. </description> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.version>${project.version}</project.version> <buildtime>${maven.build.timestamp}</buildtime> </properties> <build> <!-- Resources --> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <!-- Test resources --> <testResources> <testResource> <directory>src/main/resources</directory> <filtering>true</filtering> </testResource> <testResource> <directory>src/test/resources</directory> </testResource> </testResources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> </configuration> </plugin> </plugins> </build> <dependencies> <!-- Hopeless Domaine --> <dependency> <groupId>com.hopeless</groupId> <artifactId>hopeless-domaine</artifactId> <version>${project.version}</version> </dependency> <!-- Hopeless Security --> <dependency> <groupId>com.hopeless</groupId> <artifactId>hopeless-security</artifactId> <version>${project.version}</version> </dependency> <!-- Hopeless Services --> <dependency> <groupId>com.hopeless</groupId> <artifactId>hopeless-services</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.hopeless</groupId> <artifactId>hopeless-email</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.hopeless</groupId> <artifactId>hopeless-js</artifactId> <version>${project.version}</version> <type>js</type> </dependency> <!-- autre dependance --> </dependencies> </project>
Je sais qu'il est possible de crée un war pour le JS et d'utiliser le overlay du plugin maven-war-plugin, mais vu qu'il essaye de d/l le JS, je me dit qu'il doit juste manquer un truc dans un pom pour qu'il aille chercher le JS dans le module concerné.
Merci d'avance de toute l'aide que vous pouvez me fournir.
Partager