2010-06-11 4 views
1

J'utilise M2Eclipse (0.10.0, Maven 3) dans les projets. Je peux ajouter une dépendance Maven en utilisant m2eclipse. Mais les fichiers dépendants n'ont pas pu être téléchargés. Au lieu de cela, il a créé un fichier dans chaque dossier de dépôt local nommé [JAR_Name] .jar.lastupdate. Le contenu de ce fichier est quelque chose comme: http: // [REPO_URL]/central/= 1276221188566Impossible de télécharger des fichiers jar en utilisant M2Eclipse (0.10.0, en utilisant Maven 3)

Même en utilisant la ligne de commande Maven 3. Les pots n'ont pas pu être téléchargés. Une idée sur comment cela pourrait-il arriver?

+0

pouvez-vous poster une partie de la sortie de maven? que signifie exactement "impossible à télécharger" signifie-t-il que l'artefact n'a pas pu être trouvé ou qu'il vous a donné une erreur? –

+0

Désolé pour une faute de frappe. Le fichier créé est [JAR_NAME] .jar.lastUpdated. Je lance le paquetage mvn en ligne de commande. La sortie n'est pas très utile. Tout ce qu'il dit est la construction a échoué, les pots sont manqués, et je peux installer ces pots manqués manuellement. Mais cela ne me dit pas pourquoi ces jarres n'ont pas été téléchargés. J'ai supprimé ces fichiers .lastUpdated et exécuter à nouveau "Update Dependency" dans M2Eclipse, cela fonctionne très bien. Il semble fichier .lastUpdated causé ce problème ... – DeepNightTwo

Répondre

2

Tout d'abord, la présence du fichier "lastupdated" est sans importance. Nous devons connaître la sortie de débogage (mvn -X dependency: tree). Ensuite, vous avez mentionné que vous utilisiez le gestionnaire de référentiel et que vous faisiez une mise en miroir de chaque requête - alors configurez settings.xml selon ce guide. Si vous venez de spécifier l'élément miroir avec l'emplacement du gestionnaire de référentiel et les référentiels (URL) que vous souhaitez utiliser, (sans ce profil activé, qui modifie pratiquement la politique d'obtention des instantanés), vous devriez avoir des messages "central repository disabled" dans votre journal de débogage. Après l'avoir réparé, ça devrait marcher.

EDIT: Vous pouvez toujours utiliser l'URL du dépôt de groupe de paramètres maven.xml http://hostname/nexus/content/groups/public + le chemin de l'artefact comme "org/apache/maven/someartifact/maven-metadata.xml" et voir si nexus peut proxy la demande et servir ce que vous voulez. Si cela fonctionne, alors la raison doit être soit dans les paramètres maven, soit dans la définition de pom.

+0

Merci pour vos démarches de détail. J'ai trouvé que c'était un bug de Maven3/M2Eclipse. Je donne un moniteur de progression à Maven et Maven met à jour le moniteur de progression dans le thread non-interface utilisateur. Il casse le fil et le téléchargement du pot s'arrête. – DeepNightTwo

1

J'ai le même problème. Je ne connais pas de 'vraie' solution, mais chaque fois que quelque chose ne fonctionne pas, je scanne les fichiers .lastUpdated dans mon repo local et les supprime. Ensuite, les choses fonctionnent habituellement à nouveau. (Je pense que cela peut être dû à un nexus mal configuré, mais malheureusement je n'ai pas accès à la config nexus)

+0

exactement. Actuellement, ma solution de contournement consiste à supprimer ces fichiers .jar.lastupdated. – DeepNightTwo

+0

Je recevais "Impossible de transférer l'artefact org.apache.maven.doxia: doxia-sink-api: jar: 1.0-alpha-7 de/vers central (http://repo1.maven.org/maven2): Accès refusé http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar Code d'erreur 407 , Authentification proxy requise », ce qui était étrange car mon proxy ne nécessite pas d'authentification. La suppression des fichiers * .lastUpdated l'a corrigé pour moi, alors merci! –

Questions connexes