Bonjour,
Afin d'utiliser l'outil Maven, j'essaye de refaire le tutoriel suivant:
http://dcabasson.developpez.com/arti...uction-maven2/
J'ai donc mit en place le plugin « m2eclipse », et j'ai lancer un « mvn install » sur les sources. Et miracle ça marche (normal j'ai rien touché jusqu'ici).
Le projet définit des classes dans un projet A et les utilises dans un projet B qui se déploie en .WAR.
Moi je veux faire pareil sauf que j'aimerais faire un jar executable.
* Donc j'ai le projet « MavenProject2 » qui va posséder la classe « Uneclass » dans le package « unpackage ».
Voici le code de la "class:"
Voici le code du POM correspondant:
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 package unpackage; public class Uneclass { private int entier=0; private int entier2=2; public Uneclass(){ } public int calculer(){ return entier+entier2; } public int getEntier() { return entier; } public void setEntier(int entier) { this.entier = entier; } public int getEntier2() { return entier2; } public void setEntier2(int entier2) { this.entier2 = entier2; } }
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 <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.javaworld.ima</groupId> <artifactId>MavenProject2</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name> un maven projet</name> <!-- Dependances --> <!-- Declaration de mon build --> <build> <finalName>MavenProject2</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </build> </project>
Donc ma class principal « MavenProject » avec la classe main « LanceurDeTest » dans le package « mainPack1 »:
package mainPack1;
Avec son 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 import unpackage.Uneclass; public class LanceurDeTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("helloWorld"); Uneclass tes=new Uneclass(); System.out.println("valeur du calcul: '"+tes.calculer()+"'"); } }
Donc après ca je fais un : « mvn install » dans chacun des répertoires.
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 + <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.javaworld.ima</groupId> <artifactId>MavenProject</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name> un maven projet</name> <!-- Dependances --> <dependencies> <dependency> <groupId>com.javaworld.ima</groupId> <artifactId>MavenProject2</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies> <!-- Declaration de Mon build --> <build> <finalName>MavenProject</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <mainClass>mainPack1.LanceurDeTest</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build> </project>
J'ai 2 superbe « BUID SUCCESSFUL»
Et après un :
dans le shell.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 java -jar target/MavenProject.jar
j'obtiens ce résultat:
voilà mon problème. Qu'est ce qui ne va pas dans mes pom.xml pour qu'il ne fasse pas le liens avec ma classe « Uneclass ».
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 helloWorld Exception in thread "main" java.lang.NoClassDefFoundError: unpackage/Uneclass at mainPack1.LanceurDeTest.main(LanceurDeTest.java:13)
Partager