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 :

Overrider un artifact


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de nicocsgamer
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 321
    Par défaut Overrider un artifact
    Bonjour,

    J'ai un projet découpé en plusieurs artifact.

    Un artifact common, avec mes interfaces.
    Des artifacts avec mes implementations découpés par "themes" (User, Product ....)

    Imaginons qu'un client me demande une implementation spécifique de la class UserImpl, de l'artifact user artifact.

    C'est à dire que je veux ovverider la classe UserImpl.

    Dois je créer un nouvel artifact :

    common artifact
    user artifact
    specific user artifact

    Dans ce cas comment va se dérouler le build de mon war ?

    Lors du build par défaut je veux que maven utilise :

    common artifact
    user artifact

    Lors du build spécifique je veux que maven utilise :

    common artifact
    user artifact
    specific user artifact

    Mais il faut que la classe UserImpl de user artifact soit supprimée je suppose.

    Je ne sais pas si c'est possible(utilisation des profils ?) ou si il y a une meilleurs solution. Problème d'architecture ?

    Merci.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    j'aurais tendance à créer un projet .war par client dans ce cas, projet .war qui ne ferait que reprendre la liste des librairies pour ce client spécifique. Si t'as besoin de partager le WEB-INF entre tous les clients, des outils comme svn permettent de faire des liens dans entre répetertoire sans que ca se voie coté client (donc coté compilateur). T'auris donc, par exemple, une structure pareille dans ton svn


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    client-webapps
      - main-webapp
         -pom.xml (dépendances générales, type jar qui sera vide)
         -WEB-INF/ (webapp par défaut)
      - clientx-webapp
         -pom.xml (dépend de main-webapp mais avec des exclusions et des dependances supplémentaires)
         -WEB-INF (lien vers client-webapps/main-webapp/WEB-INF/)
      - clienty-webapp
         -pom.xml (dépend de main-webapp mais avec des exclusions et des dependances supplémentaires)
         -WEB-INF (lien vers client-webapps/main-webapp/WEB-INF/)

Discussions similaires

  1. Comment mettre virtual et override à la fois ?
    Par WebPac dans le forum Langage
    Réponses: 8
    Dernier message: 23/11/2004, 14h38
  2. Précisions sur l'Override
    Par WebPac dans le forum Langage
    Réponses: 7
    Dernier message: 26/10/2004, 08h09
  3. [C#] new et override
    Par jab dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/10/2004, 23h01
  4. Avantages de OnSomething / override
    Par Bruno75 dans le forum Langage
    Réponses: 7
    Dernier message: 20/10/2003, 19h49
  5. Problème d'override...
    Par NeoMan dans le forum Langage
    Réponses: 6
    Dernier message: 10/03/2003, 14h21

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