Précédent   Forum du club des développeurs et IT Pro > Java > EDI et OUTILS pour Java > Build > Maven
Maven Forum d'entraide sur Maven & Maven 2, ses plugins et ses outils. Avant de poster -> La F.A.Q Maven 2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 05/02/2013, 11h55   #1
Xavier Lauper
Invité de passage
 
Homme Xavier Lauper
Développeur Java
Inscription : février 2013
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Xavier Lauper
Localisation : France, Charente Maritime (Poitou Charente)

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2013
Messages : 6
Points : 0
Points : 0
Par défaut Catalogue d'Archetypes Maven avec m2e dans eclipse et catalogue "Nexus Indexer"

Bonjour,

Je crée des projets avec Maven sous Eclipse.
J'utilise eclipse Juno avec le m2e 1.2.0 qui est fourni avec.

Quand j'essaye d'ajouter un Catalogue d'Archetype Maven avec m2e dans eclipse et que je clique Verify..., eclipse affiche que le catalogue distant est vide alors que si je mets l'adresse de ce catalogue dans le navigateur le xml s'affiche.

Dans le navigateur affiche bien quelque chose avec ça : http://repo1.maven.org/maven2/archetype-catalog.xml

Si je mets dans Catalog File:
Catalog File = http://repo1.maven.org/maven2/
Description = Maven Central
et que je clique Verify..., il mouline 1mn avec un message "Downloading remote catalog", puis affiche "Remote catalog is empty"

Si je mets n'importe quoi comme
http://repo1.maven.org/maven2/xxxxxxxxx
il mouline aussi longtemps avec le même résultat.

J'ai essayé d'effacer le cache nexus complètement (~/.m2/repository/.cache/m2e)... et redémarrer Eclipse dans un workspace vide, mais ça ne donne rien de plus.


Sinon, autre question, si je fais New>Maven project et que je choisis le catalogue "Nexus Indexer", fourni par défaut, il indique "Retriving archetypes" et la liste d'archetypes s'affiche nornalement.
"Internal" est Ok aussi.

Par contre si je choisis "Jboss Nexus Archetypes", qui est fourni par défaut, il indique "Retriving archetypes" et quand la recherche est terminée, rien ne s'affiche dans la liste, sans message d'erreur.

J'ai un maven 3.0.4 en dehors d'eclipse, dont j'utilise le settings.xml dans eclipse.
Comme je suis derrière un proxy avec ntlmv2 j'ai dans un premier temps ajouté wagon-http-lightweight
"~\apache-maven-3.0.4\lib\ext\wagon-http-lightweight-2.2.jar"
Ca permet à maven de fonctionner correctement en ligne de commande derrière ce proxy, mais avec m2e pas mieux.
J'ai donc mis sur ma machine un serveur CNTLM qui s'occupe de négocier le proxy et mon Eclipse va sur le Cntlm (d'autres trucs aussi s'en serve, comme les navigateurs internet)
Dans eclipse, par exemple pour des pluggin comme JBoss Central, ou eclipse marketplace, ça fonctionne correctement.

Quelqu'un a-t-il une idée pour les 2 points précédents ? Merci.
Xavier Lauper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2013, 22h33   #2
Philippe Bastiani
Membre émérite
 
Homme Philippe BASTIANI
Architecte technique
Inscription : juin 2005
Messages : 399
Détails du profil
Informations personnelles :
Nom : Homme Philippe BASTIANI
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Architecte technique
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : juin 2005
Messages : 399
Points : 829
Points : 829
Bonjour Xavier,

Citation:
Envoyé par Xavier Lauper Voir le message
Si je mets dans Catalog File:
Catalog File = http://repo1.maven.org/maven2/
Description = Maven Central
et que je clique Verify..., il mouline 1mn avec un message "Downloading remote catalog", puis affiche "Remote catalog is empty".
Les problème avec l'index sont récurent hélas... Quelle est la version exacte de M2E ?

Tu peux aller voir du côté du log de m2e: dans ton workspace sous .metadata\.plugins\org.eclipse.m2e.logback.configuration ! Il doit y avoir des exceptions...

Tu peux aussi essayer de regénérer le tout depuis la fenêtre "Maven Repositories"... Mais j'y crois guère !

"Jboss Nexus Archetypes" fourni par défaut... tu es sûr ? Quelle version de Juno as-tu ? De mémoire, les repos JBoss ont changé de localisation il y a un an... Il faudrait vérifier !

Concernant le proxy: M2E est capable de tirer les infos du setting.xml... si correctement configuré dans les prefs.

Tu peux aussi poser la question sur le forum officiel... Sonatype y est très présent

Cdlt,
Philippe
Philippe Bastiani est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2013, 14h50   #3
Xavier Lauper
Invité de passage
 
Homme Xavier Lauper
Développeur Java
Inscription : février 2013
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Xavier Lauper
Localisation : France, Charente Maritime (Poitou Charente)

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2013
Messages : 6
Points : 0
Points : 0
Bonjour Philippe, et merci pour ton aide.

Concernant m2e, eclipse affiche cette version précise:
org.eclipse.m2e.feature (1.2.0.20120903-1050) "Maven Integration for Eclipse"
org.eclipse.m2e.wtp.feature (0.16.0.20120914-0945) "Maven Integration for Eclipse WTP (Incubation)"

Pour eclipse c'est cette version:
Version: Juno Service Release 1
Build id: 20120920-0800
eclipse.platform_4.2.1.v201209141800

Il y a effectivement des exceptions.
Le log d'Eclipse affiche des erreurs pour m2e.
Dans Installation Details>Configuration>View Error Log
.metadata\.plugins\org.eclipse.ui.workbench\log

Ce sont des erreurs liées au fait qu'il n'arrive pas à trouver le catalogue:
org.sonatype.aether.transfer.ArtifactTransferException: Could not transfer artifact
Caused by: java.net.ConnectException: connection timed out to http://repo.maven.apache.org/maven2/...


Par contre il semble ne pas exister de "org.eclipse.m2e.logback.configuration" sur ma version.
Ou alors c'est ma conf qui va pas ?
Dans mon workspace pour m2e il y a ces répertoires:
.metadata\.plugins\org.eclipse.m2e.core
.metadata\.plugins\org.eclipse.m2e.core.ui
.metadata\.plugins\org.eclipse.m2e.jdt
La seule référence à "m2e.logback" se trouve dans: MarketplaceInfo.xml
\configuration\org.eclipse.osgi\bundles\271\data\MarketplaceInfo.xml
Mais je ne trouve rien dans ces répertoires qui ressemble à un log.


Concernant le proxy, j'ai 2 settings.xml.
apache-maven-3.0.4\conf\settings.xml, pour apache en ligne de commande
apache-maven-3.0.4\conf\settings_M2E.xml, pour M2E, et donc dans eclipse je pointe sur celui-ci.
Si j'utilise Maven en dehors d'Eclipse pour l'identification NTLM, Maven 3.0.4 fonctionne.
Il fonctionne parce qu'il utilise l'extension wagon-http-lightweight-2.2: cette extension n'est pas fournie au départ.
Il y a un bug connu sur maven 3.0.4 avec les proxy NTLM. L'extension wagon résout le problème.

Mais là où ça devient différent, c'est que si j'indique à M2E le même settings, il le prend mais ne sait pas que wagon-http-lightweight-2.2 existe, et avec mon proxy NTLM ça ne passe pas.
La meilleure solution que j'ai trouvée c'est d'avoir un serveur Cntlm qui négocie le proxy, qui donc est en localhost:3128 et mon eclipse et M2E se branchent dessus.
Si par contre j'essaye de faire fonctionner maven en ligne de commande avec le serveur CNTLM, c'est à dire avec la même conf, ça coince. D'où les 2 fichiers de conf.

Si quelqu'un a déja fait fonctionner wagon-http-lightweight-2.2 avec eclipse, ça m'intéresse.
Globalement j'ai l'impression que java et NTLMv2 ne s'entendent pas très bien.

Je n'ai pas de fenêtre "Maven Repositories", mais ça doit correspondre à "Archetypes" dans cette version.

Dans Preferences>Maven>Archetypes, il propose bien par défaut (en grisé: non supprimables) ces catalogues :
Nexus Indexer
Internal
Default Local
Packaged JBoss Nexus Archetypes

Sinon on peut en ajouter, mais pour l'instant ce que j'ajoute ne donne aucun résultat. Je vais chercher une solution.

Si je fais New>Maven Project>next, il propose à priori ces catalogues d'Archetypes, mais seulement Nexus Indexer, Internal proposent des choix.
JBoss Nexus Archetypes après avoir mouliné n'affiche rien, sans message d'erreur, et rien dans le log.



Cdlt,
Xavier
Xavier Lauper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2013, 20h34   #4
Philippe Bastiani
Membre émérite
 
Homme Philippe BASTIANI
Architecte technique
Inscription : juin 2005
Messages : 399
Détails du profil
Informations personnelles :
Nom : Homme Philippe BASTIANI
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Architecte technique
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : juin 2005
Messages : 399
Points : 829
Points : 829
Il doit falloir passer par le marketplace de M2e (et non pas celui d'Eclipse) pour installer l'extension logback (Preference / Maven / Discovery)
Non en fait, c'est un package optionnel 'm2e - slf4j over logback logging' dans 'Install New'...

"Maven Repositories" est dans 'Window / Show View / Maven / Maven Repositories'

Pour le reste : M2E n'utilise à priori pas les paramètres d'Eclipse pour le proxy... donc, IMHO, il faudrait trouver un config commune !

Pour les versions M2E/WTP: no problem avec l'indexer (il y a M2E 1.3 mais bon...) !

a+
Philippe

Note: L'utilisation de wagon-http étant spéciale pour Maven... il est possible que cette config ne soit pas comptabile avec la version 'embedded' de M2E !
Tu peux tjrs
=> créer ton projet en ligne de commande puis l'importer dans M2E...

=> utiliser Maven en mode externe dans M2E (Preferences / Maven / Installations).
Philippe Bastiani est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2013, 11h43   #5
Xavier Lauper
Invité de passage
 
Homme Xavier Lauper
Développeur Java
Inscription : février 2013
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Xavier Lauper
Localisation : France, Charente Maritime (Poitou Charente)

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2013
Messages : 6
Points : 0
Points : 0
Bonjour Philippe, et les autres,

J'ai fait un test de l'extéieur, et alors tout fonctionne bien: je vois les dépots d'archetypes, je peux les utiliser. C'est le proxy NTLM qui pose problème.

Merci pour Window>Show View>Maven>Maven Repositories, que je n'utilisais pas.

Dans cette vue avec Global repositories, j'ai ces 2 qui s'affichent:
http://repo.maven.apache.org/maven2
https://repository.jboss.org/nexus/c.../groups/public

Bizarrement je peux naviguer dans la vue le premier mais pas le second alors que si je mets ces URL dans un navigateur, c'est l'inverse, le premier me dit "Browsing for this directory has been disabled." et le second a tout de navigable.

J'ai essayé un "rebuilt indexes" sur le 2ème mais ça reste à 0%.

Pour eclipse et le proxy NTLMv2 j'ai testé la solution serveur CNTML. Ca améliore un peu.

Il y a aussi une autre solution, plus naturelle: en ajoutant un peu de conf à la fin du fichier
\configuration\config.ini

Code :
1
2
3
4
5
6
org.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient
http.proxyPort=8080
http.proxyHost=myproxy
http.proxyUser=MYDOMAIN\myusername
http.proxyPassword=mypassword
http.nonProxyHosts=localhost|127.0.0.1
En fait il y a un bug connu et non résolu pour eclipse avec les proxy NTLMv2:
http://wiki.eclipse.org/ECF_Filetran...NTLMv2_Proxies

Le problème c'est que les différents plugins essayent chacun à leur sauce de résoudre le truc, ou pas.
Les résultats sont donc imprévisibles.

J'en viens à la même conclusion que toi sur l'utilisation de wagon-http. Je pense que M2E ne sait même pas que ça existe.

Pour l'instant j'utilise un maven en mode externe dans M2E.
Si j'utilise l'embedded j'ai les mêmes limitations.

Citation:
Could not resolve artifact... Could not transfer artifact...
Une solution est effectivement de créer mon projet en ligne de commande puis l'importer dans M2E.
C'est d'ailleurs ce que j'ai fait.

Il y a la commande mvn eclipe:eclipse qui permet d'avoir le projet sauce eclipse, ça aide bien.
Mais ça serait plus simple d'avoir tout qui fonctionne correctement depuis eclipse.

Merci pour ton aide.

Cdlt,
Xavier
Xavier Lauper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2013, 10h40   #6
Philippe Bastiani
Membre émérite
 
Homme Philippe BASTIANI
Architecte technique
Inscription : juin 2005
Messages : 399
Détails du profil
Informations personnelles :
Nom : Homme Philippe BASTIANI
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Architecte technique
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : juin 2005
Messages : 399
Points : 829
Points : 829
Bonjour Xavier,

Je ne sais pas si tu as les mêmes erreurs mais il y a un BugZilla ouvert (sur la v0.12) concernant les proxy NTLM.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=343009

Peut-être pourrais tu ajouter un commentaire; et, demander si il y a eu des avancées sur le sujet....

a+
Philippe
Philippe Bastiani est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h56.


 
 
 
 
Partenaires

Hébergement Web