2016-05-10 1 views
1

Je dois construire l'architecture de mon petit projet et je me demande comment procéder?Construire plusieurs modules en maven ou en builds séparés

J'ai des classes dans un projet pour l'appel donc core-part qui peut être utilisé dans d'autres projets et api partie dans le premier projet qui utilise core-part.

Alors, comment agir?

  1. Pour faire build Maven multi-module et pour produire 2 artefacts (qui à télécharger sur notre repo de l'entreprise) et api-part ont la dépendance du projet à core-part:

    pom.xml 
    | 
    /core-part 
    | 
    /api-part(depends on core-part) 
    
    1. Créer des projets distincts

Projet1

/core-part 
| 
pom.xml 

Projet2

/api-part 
| 
pom.xml -> depends on project1's GAV artifact 

Project3, ... n dépend de project1?

Répondre

0

1. est la façon si vous souhaitez construire core-part et api-part dans l'accumulation par la construction du aggrégateur/multi-modules projet (qui doit avoir <packaging>pom).

Il existe en fait un troisième artefact créé (et installé et déployé dans les référentiels) puis: celui du projet d'agrégation.

2. est le chemin si vous souhaitez gérer (construire, installer, déployer) core-part et api-part individuellement. (Une option que vous avez toujours avec 1. de toute façon.)

Voir:

1

« conseils Strong »: un projet appartient à une construction à plusieurs modules en cas de rejet de cette construction nécessite la libération de ce module, et vice versa. Les projets multi-modules doivent comprendre des éléments qui doivent être libérés ensemble. Une API ne devrait [pratiquement] jamais dépendre de la publication de son implémentation, alors que la publication d'une API [presque toujours] dicte la publication d'une nouvelle implémentation dépendante.

Si vous ne faites pas de version officielle (pourquoi ne faites-vous pas des versions officielles?), Ce conseil est toujours en vigueur mais moins fort.