J'apprends maven mais je suis face à problème dans les dépendances d'importation, suivant mon fichier pom.xmlerreur classNotFound par maven?
<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.myapp.app</groupId>
<artifactId>myapp</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>myapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.3</version>
</dependency>
</dependencies>
</project>
Après mon fichier java
import org.apache.commons.net.ftp.FTPClient;
public class App
{
public static void main(String[] args)
{
System.out.println("Hello World!");
FTPClient ftp = new FTPClient();
}
}
Je compilé en utilisant mvn compiler et créé jar en utilisant package mvn tous deux exécutés sans aucune erreur. mais quand je lance l'application en utilisant la commande
java -cp target/myapp-1.0-SNAPSHOT.jar com.myapp.app.App
il montrant les erreurs suivantes
Hello World!
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/commons/net/ftp/FTPClient
at com.myapp.app.App.main(App.java:16)
Caused by: java.lang.ClassNotFoundException:
org.apache.commons.net.ftp.FTPClient
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
Cela signifie Maven n'a pas apporté que JAR vers le bas pour votre projet ou il est pas emballé correctement. Commencez avec ce dernier. – duffymo
avez-vous des erreurs lors de l'emballage? –