Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisione Revisione precedente Prossima revisione | Revisione precedente | ||
|
gwinstguide:idxinstguide:installazione_maven [2021/04/29 16:15] francesco.rosati |
gwinstguide:idxinstguide:installazione_maven [2023/05/16 09:26] (versione attuale) giada.podelvento [Prerequisiti per l'installazione] |
||
|---|---|---|---|
| Linea 7: | Linea 7: | ||
| ==== Prerequisiti per l'installazione ==== | ==== Prerequisiti per l'installazione ==== | ||
| Per l'installazione di Maven è necessario assicurarsi che il Java Development Kit (JDK) sia installato e che la variabile d'ambiente JAVA_HOME sia configurata. Questo può essere fatto in uno dei seguenti modi: | Per l'installazione di Maven è necessario assicurarsi che il Java Development Kit (JDK) sia installato e che la variabile d'ambiente JAVA_HOME sia configurata. Questo può essere fatto in uno dei seguenti modi: | ||
| - | - Aprire il **Pannello di controllo**, scegliere la sezione **Programmi**, poi **Programmi e funzionalità** e controllare se una versione di Java o del JDK compaiono tra i programmi installati. {{ :gwinstguide:idxinstguide:jdk_installed_1.png?600 |}} | + | * Aprire il **Pannello di controllo**, scegliere la sezione **Programmi**, poi **Programmi e funzionalità** e controllare se una versione di Java o del JDK compaiono tra i programmi installati. {{ :gwinstguide:idxinstguide:jdk_installed_1.png?600 |}} |
| - | - Aprire il prompt dei comandi e digitare <code> | + | |
| + | Oppure: | ||
| + | |||
| + | * Aprire il prompt dei comandi e digitare <code> | ||
| java -version | java -version | ||
| </code> Se il comando è riconosciuto e compaiono le informazioni della versione, allora vuol dire che Java è installato correttamente e anche la variabile d'ambiente è stata impostata nel modo giusto. | </code> Se il comando è riconosciuto e compaiono le informazioni della versione, allora vuol dire che Java è installato correttamente e anche la variabile d'ambiente è stata impostata nel modo giusto. | ||
| - | - Aprire il **Pannello di controllo**, poi **Sistema e sicurezza**, poi ancora **Sistema** e, infine, aprire il collegamento **Impostazioni di sistema avanzate**: a questo punto si aprirà una finestra, come è visibile nella figura seguente. | + | |
| + | Oppure: | ||
| + | |||
| + | * Aprire il **Pannello di controllo**, poi **Sistema e sicurezza**, poi ancora **Sistema** e, infine, aprire il collegamento **Impostazioni di sistema avanzate**: a questo punto si aprirà una finestra, come è visibile nella figura seguente. | ||
| {{ :gwinstguide:idxinstguide:jdk_installed_2.png?600 |}} | {{ :gwinstguide:idxinstguide:jdk_installed_2.png?600 |}} | ||
| - | Selezionare il pulsante **Variabili d'ambiente...** e controllare che, tra le variabili di sistema, esista una variabile JAVA_HOME con associato il percorso corretto. | + | Selezionare il pulsante **Variabili d'ambiente...** e controllare che, tra le variabili di sistema, esista una variabile **JAVA_HOME** con associato il percorso corretto. |
| === Installazione del JDK e configurazione della variabile JAVA_HOME=== | === Installazione del JDK e configurazione della variabile JAVA_HOME=== | ||
| - | Se il JDK non risulta installato, è necessario eseguire il download del software al seguente link: [[https://www.oracle.com/java/technologies/javase-downloads.html]]. | + | Se il JDK non risulta installato, è necessario eseguire il download del software al seguente link: [[https://www.oracle.com/it/java/technologies/javase/jdk11-archive-downloads.html]]. |
| - | Una volta scaricata la versione adeguata del JDK, eseguire il file e installare il software. Terminata la procedura, JDK risulterà installato nel computer, per esempio nel percorso C:\Program Files\Java\jdk1.8.0_102. Quello che rimane da fare è configurare la variabile d'ambiente JAVA_HOME. | + | Una volta scaricata la versione adeguata del JDK (la versione attualmente in uso è la 11), eseguire il file e installare il software. Terminata la procedura, JDK risulterà installato nel computer, per esempio nel percorso C:\Program Files\Java\jdk-11.0.2. Quello che rimane da fare è configurare la variabile d'ambiente **JAVA_HOME**. |
| - | Per fare questo, seguire il percorso per aprire la finestra di modifica delle variabili d'ambiente (**Pannello di controllo** -> **Sistema e sicurezza** -> **Sistema** -> **Impostazioni di sistema avanzate** -> **Variabili d'ambiente...**). Se la variabile di sistema esiste, controllare che il percorso a cui fa riferimento sia quello giusto. Se, invece, non esiste, attraverso il pulsante **Nuova...** creare una nuova variabile che abbia come nome JAVA_HOME e come valore il percorso in cui è stato installato il JDK. | + | Per fare questo, seguire il percorso per aprire la finestra di modifica delle variabili d'ambiente (**Pannello di controllo** -> **Sistema e sicurezza** -> **Sistema** -> **Impostazioni di sistema avanzate** -> **Variabili d'ambiente...**). Se la variabile di sistema esiste, controllare che il percorso a cui fa riferimento sia quello giusto. Se, invece, non esiste, attraverso il pulsante **Nuova...** creare una nuova variabile che abbia come nome **JAVA_HOME** e come valore il percorso in cui è stato installato il JDK. |
| - | {{ :gwinstguide:idxinstguide:java_home_path_var.png?400 |}} | + | {{ :gwinstguide:idxinstguide:java_home_path_var.png?nolink&400 |}} |
| ==== Come installare Apache Maven ==== | ==== Come installare Apache Maven ==== | ||
| Linea 28: | Linea 34: | ||
| Quando Apache Maven è stato installato, viene creata una cartella di repository locale, chiamata .m2\repository. Essa viene salvata di default nel percorso C:\Users\{your-username}\.m2\repository ed è importante perché, quando un progetto Maven viene compilato, vengono scaricate e salvate all'interno di questa cartella tutte le librerie necessarie, le dipendenza del progetto e i file JAR dei plugin. | Quando Apache Maven è stato installato, viene creata una cartella di repository locale, chiamata .m2\repository. Essa viene salvata di default nel percorso C:\Users\{your-username}\.m2\repository ed è importante perché, quando un progetto Maven viene compilato, vengono scaricate e salvate all'interno di questa cartella tutte le librerie necessarie, le dipendenza del progetto e i file JAR dei plugin. | ||
| + | |||
| + | === NOTE IMPORTANTI === | ||
| + | Con le ultime versioni, dalla 3.8.1, Maven esce con una configurazione di default, non aggirabile, che blocca tutte le chiamate HTTP (insicure) ai repository. Il nostro [[http://artifactory.geowebframework.com/|artifactory]] non è attualmente in HTTPS. Vengono quindi, al lancio di comandi come in fase di mvn package, errori tipo <code>from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories</code> | ||
| + | |||
| + | Esempio errore: | ||
| + | <code> | ||
| + | [INFO] BUILD FAILURE | ||
| + | [INFO] ------------------------------------------------------------------------ | ||
| + | [INFO] Total time: 0.450 s | ||
| + | [INFO] Finished at: 2021-04-07T01:08:28-04:00 | ||
| + | [INFO] ------------------------------------------------------------------------ | ||
| + | [ERROR] Failed to execute goal on project MassBank2NIST: Could not resolve dependencies for project MassBank2NIST:MassBank2NIST:jar:0.0.2-SNAPSHOT: Failed to collect dependencies at edu.ucdavis.fiehnlab.splash:core:jar:1.8: Failed to read artifact descriptor for edu.ucdavis.fiehnlab.splash:core:jar:1.8: Could not transfer artifact edu.ucdavis.fiehnlab.splash:core:pom:1.8 from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories: [EBI (http://www.ebi.ac.uk/intact/maven/nexus/content/repositories/ebi-repo/, default, releases+snapshots), releases (http://gose.fiehnlab.ucdavis.edu:55000/content/groups/public, default, releases+snapshots)] -> [Help 1] | ||
| + | [ERROR] | ||
| + | [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. | ||
| + | [ERROR] Re-run Maven using the -X switch to enable full debug logging. | ||
| + | [ERROR] | ||
| + | [ERROR] For more information about the errors and possible solutions, please read the following articles: | ||
| + | [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException | ||
| + | </code> | ||
| + | |||
| + | La cosa migliore sarebbe aggiornare i nostri repository allo standard HTTPS. Il meccanismo del mirror check non è attualmente disabilitabile in alcuna maniera. | ||
| + | E' previsto un tag <mirrors> da configurare sotto il proprio setting.xml, come descritto sul [[https://maven.apache.org/guides/mini/guide-mirror-settings.html#|sito ufficale]] e vari workaround [[https://stackoverflow.com/questions/66980047/maven-build-failure-dependencyresolutionexception|qui]], ma non sembrano funzionare per la nostra configurazione. | ||
| + | |||
| + | In attesa di una risoluzione si consiglia quindi vivamente di utilizzare una versione precedente alla 3.8.1 come la [[https://downloads.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip|apache-maven-3.6.3-bin.zip]] | ||
| + | |||
| ==== Modificare il file settings.xml ==== | ==== Modificare il file settings.xml ==== | ||
| Linea 48: | Linea 79: | ||
| Se esistono entrambi i file, si noti che le impostazioni relative alla cartella dell'utente hanno maggiore priorità delle altre. Se, invece, nella cartella di utente non esiste tale file, è necessario crearlo. | Se esistono entrambi i file, si noti che le impostazioni relative alla cartella dell'utente hanno maggiore priorità delle altre. Se, invece, nella cartella di utente non esiste tale file, è necessario crearlo. | ||
| - | Trovato o creato il file di configurazione, si deve modificare, al suo interno, il blocco **servers** e il blocco **profiles**. | + | Trovato o creato il file di configurazione, si deve modificare, al suo interno, il blocco **servers** e il blocco **profiles**. (per l'ultima versione del file: https://gitlab.com/geowebframework/geowebframework/-/raw/master/ci_settings.xml?inline=false) |
| Nel tag **servers** vanno aggiunte le seguenti informazioni: | Nel tag **servers** vanno aggiunte le seguenti informazioni: | ||
| Linea 80: | Linea 111: | ||
| Inserire, poi, all'interno del tag **profiles**, quanto segue: | Inserire, poi, all'interno del tag **profiles**, quanto segue: | ||
| <code xml> | <code xml> | ||
| + | <profiles> | ||
| <profile> | <profile> | ||
| <id>artifactory</id> | <id>artifactory</id> | ||
| Linea 92: | Linea 124: | ||
| <repository> | <repository> | ||
| <snapshots> | <snapshots> | ||
| - | <enabled>false</enabled> | + | <enabled>false</enabled> |
| </snapshots> | </snapshots> | ||
| <id>gw-release</id> | <id>gw-release</id> | ||
| Linea 107: | Linea 139: | ||
| </repository> | </repository> | ||
| <repository> | <repository> | ||
| - | <snapshots> | + | <releases> |
| - | <enabled>false</enabled> | + | <enabled>false</enabled> |
| - | </snapshots> | + | </releases> |
| - | <id>gw-snapshot</id> | + | <id>gw-snapshots</id> |
| - | <name>gw-snapshot</name> | + | <name>gw-snapshots</name> |
| - | <url>http://artifactory.geowebframework.com/artifactory/gw-snapshot</url> | + | <url>http://artifactory.geowebframework.com/artifactory/gw-snapshots</url> |
| </repository> | </repository> | ||
| </repositories> | </repositories> | ||
| Linea 125: | Linea 157: | ||
| </pluginRepository> | </pluginRepository> | ||
| <pluginRepository> | <pluginRepository> | ||
| - | <snapshots> | + | <releases> |
| - | <enabled>false</enabled> | + | <enabled>false</enabled> |
| - | </snapshots> | + | </releases> |
| <id>snapshots</id> | <id>snapshots</id> | ||
| <name>libs-snapshot</name> | <name>libs-snapshot</name> | ||
| Linea 134: | Linea 166: | ||
| </pluginRepositories> | </pluginRepositories> | ||
| </profile> | </profile> | ||
| + | </profiles> | ||
| </code> | </code> | ||
| Infine, aggiungere il tag **activeProfiles** e il suo contenuto: | Infine, aggiungere il tag **activeProfiles** e il suo contenuto: | ||