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:"
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;
	}
 
}
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
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;
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()+"'");
	}
 
}
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
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>
Donc après ca je fais un : « mvn install » dans chacun des répertoires.
J'ai 2 superbe « BUID SUCCESSFUL»

Et après un :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
java -jar target/MavenProject.jar
dans le shell.

j'obtiens ce résultat:
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)
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 ».