Débuter avec Maven et le langage Java
Un tutoriel de Gokan Ekinci
Le 2017-05-08 22:18:32, par Gugelhupf, Modérateur
Bonjour,
J'ai le plaisir de vous présenter un tutoriel pour bien débuter avec Maven 3 et Java
Et vous ?
Que pensez-vous de ce tutoriel ?
Utilisez-vous un autre outil pour builder et gérer vos dépendances ?
Retrouver les autres tutoriels Java sur : http://java.developpez.com/cours/
J'ai le plaisir de vous présenter un tutoriel pour bien débuter avec Maven 3 et Java
Maven est un outil créé par Apache, il permet de faciliter la gestion de son projet Java. Maven est parfois qualifié de « Dependency Management Tool » (Outil de Gestion de Dépendance en français), c'est un outil qui est très utilisé dans l'univers Java, il est aussi très apprécié des professionnels.
Retrouver les autres tutoriels Java sur : http://java.developpez.com/cours/
-
MarMoffCandidat au ClubBonjour
Dans ce paragraphe la modification du programme App.java nécessaire pour utiliser l'extension Jsoup n'est pas présentée.
Voici une version de App.java qui fonctionne :Code : 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20package fr.marcel.MavenTest; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; /** * Bonjour à tous * */ public class App { public static void main( String[] args ) { String texteHtml = "<h1>Bonjour à tous !</h1>"; Document doc = Jsoup.parse(texteHtml); System.out.println(doc.outerHtml()); System.out.println(); System.out.println(doc.body().text()); } }
La méthode doc.outerHtml() retourne une chaîne de caractères contenant le document HTML créé par la méthode Jsoup.parse(texteHtml).
La méthode doc.body().text() retourne une chaîne de caractères contenant le corps du document sans les balises, donc ici : Bonjour à tous !.
Voici le résultat de l'exécution de ce programme :Bonjour à tous !bash-4.3$ java -jar simple-1.0-SNAPSHOT-jar-with-dependencies.jar ‹html› ‹head›‹/head› ‹body› ‹h1›Bonjour à tous !‹/h1› ‹/body› ‹/html›
bash-4.3$
Cordialementle 08/06/2017 à 12:56 -
GugelhupfModérateurMerci pour ton retour @MarMoff. Un petit oubli. J'ai ajouté l'exemple de code Jsoup au tutoriel.le 11/06/2017 à 17:06
-
olivier252Membre avertiTous mes remerciements pour ce tutoriel très bien rédigé et clair pour un débutant comme moi.
Bravo à son rédacteur
Olivierle 31/05/2019 à 17:40 -
plieuseParisCandidat au ClubBonjour,
Merci pour ce tutoriel. Je rencontre une difficulté à l'étape où on ajoute une dépendance vers Jsoup:
- mon code java:Code : 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19package myPackage; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; /** * Hello world! * */ public class App { public static void main( String[] args ) { String htmlText = "<h1>Hello World!<h1>"; Document doc = Jsoup.parse( htmlText ); System.out.println( doc.outerHtml() ); System.out.println(); System.out.println( doc.body().text() ); } }
Code XML : 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<?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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>myPackage</groupId> <artifactId>MyFirstSeleniumProject</artifactId> <version>0.1</version> <name>MyFirstSeleniumProject</name> <!-- FIXME change it to the project's website --> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.8.3</version> </dependency> </dependencies> <build> <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> <plugins> <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle --> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.1.0</version> </plugin> <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging --> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.0.2</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.6</version> <configuration> <archive> <manifest> <mainClass>myPackage.App</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle --> <plugin> <artifactId>maven-site-plugin</artifactId> <version>3.7.1</version> </plugin> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> <version>3.0.0</version> </plugin> </plugins> </pluginManagement> </build> </project>
Visiblement, il ne calcule pas le plugin maven-assembly-plugin puisque celui-ci n'apparaît pas dans l'output de la console.
Je n'ai plus d'idées... Si quelqu'un peut m'aider, ça serait sympa. Merci.
Mariele 31/10/2019 à 16:24 -
plieuseParisCandidat au ClubBonjour,
ça marche en saisissant :
Code : mvn compile assembly:single
https://stackoverflow.com/questions/42536239/javafx-maven-assembly-warning-cannot-include-project-artifact-it-doesnt-h
Mariele 04/11/2019 à 11:09 -
SnavalMembre du ClubBonjour
J'ai rempli correctement, il me semble les différentes valeurs des Variables d'environnement, à savoir:
- pour JAVA_HOME valeur de la variable: C:\Program Files (x86)\Java\jdk1.7.0_75
- pour Path valeur de la variable: ;C:\Program Files\Apache Software Foundation\apache-maven-3.6.3\bin\
En ouvrant la ligne de commande je suis sur: C:\Users\mon_nom\Downloads\apache-maven-3-6-3\bin
Sur la commande: mvn -v il est répondu: commande non reconnue à l'interne ou à l'externe.
Pour info: je dispose de Java complet avec JDK et JRE.
Où est l'erreur?
Quelle est la solution?
Merci pour vos réponsesle 14/02/2021 à 21:09 -
SnavalMembre du ClubBonjour,
Ceci est une suite et rectification de mon post précédent du 14/02/2021, les données suivantes de mon ordinateur sont:
- JAVA_HOME= C:\Program Files\Zulu\zulu-11\bin
- Path= C:\Users\Solonavalona\Downloads\apache-maven-3.6.3\bin
Pour vérifier si maven est bien installé je fais la commande suivante:
C:\Users\Solonavalona\Downloads\apache-maven-3.6.3\bin>mvn -v
Un avertissement d'erreur apparaît comme suit:
The JAVA_HOME environment variable is not defined correctly.
This environment is needed to run this program.
NB: JAVA_HOME should point to a JDK not a JRE.
Question: où est l'erreur? (Il me semble que j'ai bien installé Java: javac et java existent bien dans le bin de zulu-11)
Merci pour les réponses.le 16/02/2021 à 19:14 -
SnavalMembre du ClubBonjour,
C'est encore une suite de mes précédents posts ci-dessus des 14 et 16/02/2021 (qui n'ont pas reçu de réponses)
D'après l'avertissement d'erreur ci-dessus je n'ai pas introduit les données correctes pour JAVA_HOME.
Voici les données que j'ai introduites sur mon ordi:
- Pour Java: JAVA_HOME=C:\Program Files\Zulu\zulu-11\jdk11.0.2\bin;
Cette donnée a été vérifiée pour Java qui fonctionne normalement.
C'est donc le JAVA_HOME pour apache-maven qui n'est pas introduit; en effet après vérification: apache-maven ne fonctionne pas encore.
Question: Comment introduire ce JAVA_HOME pour apache-maven?
Merci pour les réponses.le 22/02/2021 à 7:43 -
SnavalMembre du ClubBonjour,
C'est encore une suite et clarification de mes post précédents (car je n'ai pas réussi l'installation correcte).
Après consultation des FAQ et document officiel de Apache Maven j'ai introduit les données suivantes pour Java et Apache (c'est donc à vérifier car elles ne marchent pas pour Apache).
Pour Java:
- JAVA_HOME= C:\Program Files\Zulu\zulu-11\jdk11.0.2
- Path=%JAVA_HOME%\bin;C:\Program Files\Zulu\zulu-11\bin
Pour Apache Maven:
- MVN_HOME= C:\Users\Solonavalona\Downloads\apache-maven-3.6.3
- Path= %MVN_HOME%\bin; C:\Users\Solonavalona\Downloads\apache-maven-3.6.3\bin
Après contrôle sur Ligne de commande Apache Maven ne marche pas et répond par me demander de vérifier Java (qui pourtant marche):
C:\Users\Solonavalona\Downloads\apache-maven-3.6.3\bin mvn -v
Merci pour indiquer l'erreur.le 22/02/2021 à 16:43 -
SnavalMembre du ClubBonjour,
Voici une clarification de mon message précédent et une information complémentaire sur la boîte de dialogue que j'ai reçue après exécution de la ligne de commande: mvn -v
J'ajoute que mon Java fonctionne correctement et qu'il est muni de JDK complet (ce qui m'étonne sur la réponse disant qu'il faut pointer sur JDK et non sur JRE).
Merci pour indiquer l'erreur et donner la solution.le 24/02/2021 à 13:34