IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Maven Java Discussion :

Catalogue d'Archetypes Maven avec m2e dans eclipse et catalogue "Nexus Indexer"


Sujet :

Maven Java

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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
    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.

  2. #2
    Membre émérite

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : 588
    Par défaut
    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

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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
    Par défaut
    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

  4. #4
    Membre émérite

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : 588
    Par défaut
    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).

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

    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

  6. #6
    Membre émérite

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : 588
    Par défaut
    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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/02/2013, 19h55
  2. Réponses: 2
    Dernier message: 01/02/2012, 07h12
  3. Code HTML produit avec PHP dans Eclipse
    Par JCD21 dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2011, 17h28
  4. org.eclipse.persistence introuvable dans Eclipse avec Maven
    Par b_zakaria dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 27/06/2010, 02h12
  5. J2ME: problème avec KXMLParser dans Eclipse
    Par patomique dans le forum Java ME
    Réponses: 1
    Dernier message: 29/10/2006, 11h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo