2010-09-14 7 views
3

J'essaie de créer un projet Maven pour tester certains logiciels de test - Arquillian.Dépendance maven manquante à l'aide de la configuration de nexus

J'ai configuré nexus et ajouté les dépôts jboss en bas du groupe public.

Quand je lance mvn test i obtenir cette erreur:

Missing: 
---------- 
1) com.sun.istack:istack-commons-runtime:jar:1.1-SNAPSHOT 

    Try downloading the file manually from the project website. 

    Then, install it using the command: 
     mvn install:install-file -DgroupId=com.sun.istack -DartifactId=istack-commons-runtime -Dversion=1.1-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file 

    Alternatively, if you host your own repository you can deploy the file there: 
     mvn deploy:deploy-file -DgroupId=com.sun.istack -DartifactId=istack-commons-runtime -Dversion=1.1-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] 

    Path to dependency: 
     1) org.jboss.arquillian.sandbox.showcase:arquillian-sandbox-showcase-jsf:jar:1.0.0-SNAPSHOT 
     2) org.jboss.jbossas:jboss-as-client:pom:6.0.0.20100721-M4 
     3) org.jboss.jbossas:jboss-as-iiop:jar:client:6.0.0.20100721-M4 
     4) org.jboss.jbossts:jbossjts:jar:4.11.0.Final 
     5) org.jboss.ws.native:jbossws-native-core:jar:3.3.0.CR1.SP2 
     6) com.sun.xml.ws:jaxws-rt:jar:2.2 
     7) com.sun.xml.ws:policy:jar:2.0-b01 
     8) com.sun.istack:istack-commons-runtime:jar:1.1-SNAPSHOT 

J'ai vérifié le dépôt Maven 2 java.net et il est certainement there. Cependant, lorsque je navigue vers mon groupe public nexus local, il n'est pas là.

Comment puis-je résoudre ce problème? Et quelle est la cause de ce problème? Je suis dans la tête avec cela, car je suis plus habitué à utiliser fourmi + lierre. La sortie complète de mvn est here.

+0

Je ne sais pas si cette question est importante, dans l'ordre de mon groupe local de nexus, maven central est au-dessus de java.net m2. Maven central a un paquet org/sun/istack/mais le paquet istack-commons-runtime n'existe pas. – JavaRocky

Répondre

0

Terminé étant une mauvaise dépendance. Je devais l'ajouter manuellement pour que tout fonctionne. Terrible!

+1

Euh, c'est presque un an plus tard et maintenant j'ai ce problème @ # $% ^. Il n'a pas encore été réparé? Pouvez-vous dire s'il vous plaît ce que vous avez ajouté manuellement pour le faire fonctionner? Merci. –

+0

Je devais changer jaxws-rt version de 2.2 à ' 2.2.7-favorisé-b73' pour résoudre ceci. –

1

Apparaît-il si vous utilisez l'interface Web nexus pour le rechercher? J'ai vu des cas dans notre installation nexus où un artefact semble manquer, mais apparaît dans les résultats de la recherche. Si je le télécharge ensuite via mon navigateur à partir des résultats de recherche, il commence magiquement à fonctionner sur la ligne de commande maven.

Pas la solution robuste que vous voulez entendre, je suis sûr, mais il vaut au moins un essai.

+0

Matt, non, ça n'apparait pas dans la recherche de nexus. Une vérification du système de fichiers local montre qu'il n'existe pas non plus. La navigation via l'interface web ne le montre pas aussi. C'est comme si elle n'existait pas ou que le référentiel distant était mal interprété. Cependant quand j'utilise le 'Browse Remote' pour le Java.net maven 2 référentiel, ça existe !! – JavaRocky

+0

Je suppose que je déposerais un bug, alors. : -/ –

1

Si vous avez ajouté le référentiel JBoss à Nexus, vous êtes-vous souvenu de configurer votre groupe Public Repositories pour qu'il l'inclue?

Voici une capture d'écran:

alt text

+0

Merci pour votre réponse, Comme je l'ai mentionné dans la deuxième phrase, j'ai ajouté le groupe jboss public repository à mon groupe de référentiel public local. – JavaRocky

0

Êtes-vous derrière un pare-feu d'entreprise? Peut-être un proxy HTTP doit-il être configuré dans Nexus (Voir l'écran d'administration du serveur)

+0

J'ai configuré un pare-feu HTTP et j'ai téléchargé beaucoup d'autres artefacts. – JavaRocky

3

J'avais apparemment le même problème. Je l'ai résolu. Dans mon cas, le problème était que le référentiel qui hébergeait istack-common-runtime-1.1.0-SNAPSHOT était marqué "release" dans le repo de proxy nexus configuré. Donc, nexus ignorait tous les instantanés dans ce référentiel. Je viens de configurer un autre référentiel proxy pointant sur le même qui contient istack-common-runtime-1.1.0-SNAPSHOT, mais en le signalant à "SNAPSHOT" lors de la configuration. J'ai ensuite ajouté ce nouveau proxy à mon groupe "SNAPSHOT".

Dans mon settings.xml, j'ai un dépôt sur le groupe de lien public et un autre sur le groupe de clichés:

<profiles> 
    <profile> 
     <id>nexus</id> 
     <activation> 
      <activeByDefault>true</activeByDefault> 
     </activation> 
     <repositories> 
      <repository> 
       <id>release</id> 
       <url>http://nexus-server/nexus/content/groups/public</url> 
       <releases> 
        <enabled>true</enabled> 
       </releases> 
       <snapshots> 
        <enabled>false</enabled> 
       </snapshots> 
      </repository> 
      <repository> 
       <id>snapshots</id> 
       <url>http://nexus-server/nexus/content/groups/public-snapshots</url> 
       <releases> 
        <enabled>false</enabled> 
       </releases> 
       <snapshots> 
        <enabled>true</enabled> 
       </snapshots> 
      </repository> 
     </repositories> 
    </profile> 
</profiles> 

Hope this aide

+0

Cela a résolu pour moi. J'ai créé un autre référentiel de proxy dans Nexus pointant vers la même URL mais avec la politique de référentiel "Snapshot" et l'ai ajouté au groupe public. –

Questions connexes