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 :

Faire marcher un plugin Snapshot de Codehaus en local


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut Faire marcher un plugin Snapshot de Codehaus en local
    J'aimerais reprendre une question que j'avais déjà posée à propos d'un plugin.

    J'utilise donc un plugin (dashboard-report) qui provient des Snapshots de Codehaus (de la sandbox).
    Sur le site du plugin, il est indiqué qu'il faut ajouter ceci dans son settings.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <pluginRepositories>
        <pluginRepository>
            <id>Codehaus Snapshots</id>
           	<url>http://snapshots.repository.codehaus.org/</url>
        </pluginRepository>
    </pluginRepositories>
    Comme cela, ça fonctionne très bien.

    Maintenant, ce que je souhaite, c'est rendre ce plugin accessible pour une configuration "locale". Dans ma mission, nous utilisons un repository global qui se situe sur un disque réseau. Du coup, les utilisateurs ont cette configuration Maven :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <settings>
        <!--  Path to local repository. The default location is ~/.m2/repository -->
        <localRepository>C:\m2\repository\</localRepository>
     
        <!--  Definition of mirror of Central Repository -->
        <mirrors>
            <mirror>
                <id>global-repository</id>
                <name>Global repo</name>
                <url>file://F:\...\repository</url>
                <mirrorOf>central</mirrorOf>
            </mirror>
        </mirrors>
     
        <profiles>
            <profile>
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
                <repositories>
                    <repository>
                        <id>global-repository</id>
                        <releases>
                            <enabled>true</enabled>
                        </releases>
                        <snapshots>
                            <enabled>true</enabled>
                        </snapshots>
                        <url>file://F:\...\repository</url>
                    </repository>
                </repositories>
            </profile>
        </profiles>
     
        <!-- Definition of Plugins groups created by our team. -->
        <pluginGroups>
            <pluginGroup>my.company.plugins</pluginGroup>
        </pluginGroups>
    </settings>
    Ce repository fait office de mirroir pour le repository central de Maven. Ainsi, toutes les dépendances tierces nécessaires à nos projets s'y retrouvent.
    Cependant, j'ai un souci avec le sus-cité plugin Dashboard. Si je supprime mon repository local, que je passe en configuration "locale" (avec le settings.xml ci-dessus), et que je tente d'utiliser ce plugin, j'obtiens le message d'erreur suivant :

    The plugin 'org.apache.maven.plugins:maven-dashboard-report-plugin' does not exist or no valid version could be found

    Visiblement, il n'arrive pas à comprendre que ce plugin n'est pas un plugin de Maven, mais un plugin de Codehaus...
    Pour information, le plugin en question utilise le préfixe "dashboard-report".

    J'imagine que certaines informations situées dans les fichiers XML de métadata doivent être erronées ou manquantes.

    Que me faut-il changer pour que ça marche en local ?
    Ou bien comment faire pour installer correctement ce plugin sur mon repository global pour que cela fonctionne correctement ?

    Merci pour votre aide.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  2. #2
    Membre chevronné

    Inscrit en
    Septembre 2006
    Messages
    466
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 466
    Par défaut
    Bonjour,

    Ton problème vient du fait le repository globale n'est qu'un mirroir du repository maven 2. Il ne prend donc pas le repository de codehaus.

    Le plus simple et d'utiliser un proxy maven2 pour cela (Proximity ou Archiva ou Artifactory...).

    Néanmoins essaye de rajouter cela dans ton pom.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <pluginRepositories>
        <pluginRepository>
            <id>Codehaus Snapshots</id>
           	<url>http://snapshots.repository.codehaus.org/</url>
        </pluginRepository>
    </pluginRepositories>
    Rémy

  3. #3
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Merci pour ta réponse rseM2.

    Nous allons bientôt installer un gestionnaire de repository (Artifactory), mais vu qu'ils n'ont pas l'air de se presser ici, je voulais une solution qui puisse fonctionner en attendant.
    Ton idée ne marche pas. En effet, pour accéder à Internet, nous avons besoin de donner la configuration du proxy pour Maven, ce que nous refusons de faire pour les configurations locales. Leur donner une URL externe n'a donc pas de sens. Pour information, j'ai essayé de remplacer l'URL externe par le répertoire partagé, mais cela ne fonctionne pas...

    Personne n'a une idée précise de la façon dont Maven 2 gère les métadonnées des plugins (autres que ceux de org.apache.maven.plugins) ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  4. #4
    Membre chevronné

    Inscrit en
    Septembre 2006
    Messages
    466
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 466
    Par défaut
    Je ne sais pas non plus comment fonctionne les metadonnées des plugins, donc ce serait intéressant d'avoir l'information.

    Sinon tu peux éventuellement essayer quelque chose comme cela en attendant :
    dans le pom.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <pluginRepositories>
        <pluginRepository>
            <id>codehaus.snapshots</id>
           	<url>http://snapshots.repository.codehaus.org/</url>
        </pluginRepository>
    </pluginRepositories>
    dans le setting.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <mirrors>
            <mirror>
                <id>global-repository</id>
                <name>Global repo</name>
                <url>file://F:\...\repository</url>
                <mirrorOf>central</mirrorOf>
            </mirror>
     
            <mirror>
                <id>global-repository-codehaus.snapshots</id>
                <name>Global repo</name>
                <url>file://F:\...\repository</url>
                <mirrorOf>codehaus.snapshots</mirrorOf>
            </mirror>
        </mirrors>
    Il me semble que le mirrorOf est lié à l'id du repository défini dans le pom.xml. J'ai pas testé, mais il y a des chances que ca marche.

    Rémy

  5. #5
    Membre expérimenté Avatar de dvicente72
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 213
    Par défaut
    Salut à tous,

    je pense que le problème est : quand on ajoute ceci dans le pom.xml d'un plugin pour modifier le goal prefix:

    <build>
    ….
    <plugins>
    <plugin>
    <artifactId>maven-plugin-plugin</artifactId>
    <configuration>
    <goalPrefix>dashboard-report</goalPrefix>
    </configuration>
    </plugin>

    </plugins>

    </build>
    ….

    Maven ne résout pas correctement le préfixe plugin.

    c'est pour ça que : "mvn dashboard-report:dashboard" ne fonctionne pas correctement.

    je dois enlever ce goalPrefix mais avant je dois faire une demande de vote

    Avant, j'aimerai bien avoir l'avis d'Emmanuel Venisse là-dessus

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 172
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 172
    Par défaut
    heu, ben là je ne sais pas. désolé je sèche

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/10/2014, 09h46
  2. [RELEASE]comment faire avec des plugins Snapshot ?
    Par djeanprost dans le forum Maven
    Réponses: 3
    Dernier message: 07/06/2007, 14h30
  3. Impossible de faire marcher SESSIONS_PER_USER
    Par jack554 dans le forum Oracle
    Réponses: 7
    Dernier message: 05/01/2005, 11h50
  4. [Debutant(e)][Tomcat]Comment faire marcher Tomcat?
    Par chuck norris dans le forum Tomcat et TomEE
    Réponses: 11
    Dernier message: 24/11/2004, 16h12
  5. [Q] que faire quand un plugin n'apparait pas dans eclipse
    Par zolive dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 30/08/2004, 23h38

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