maven - deux différents racine poms
Je suis nouveau sur Maven. Je me suis donné un nouveau projet et qui a la structure suivante.
Data_Res
|
---res-search
| |
| -----res-hast
| | |
| | ------src/main....
| | |
| | ------pom.xml
| -----res-haster
| | |
| | ------src/main....
| | |
| | ------pom.xml
| |
| ----pom.xml
|
|
---pom.xml
---sonar_pom.xml
Je ne vois pas les modules de la section de la racine pom.xml. Mais je ne voir la section sur les modules dans sonar_pom.xml. Il ne comprend pas tous les nœuds enfants. Peut un dossier/projet ont deux pdm? Ou peut-on exécuter séparément?
- Comment dois-je interpréter cela? Sous-modules ou des projets individuels? Existe-il des indicateurs pour savoir?
- M'a dit de courir
mvn clean install
sur la racine pom. Je l'ai fait. On m'a demandé de vérifier si toutes les dépendances pour une des sous-dossiers sont fournis. Comment vérifier ces? Je peux voir quelques fichiers sous .m2 dossier dans mon répertoire home. - Comment puis-je construire/paquet? Je vais travailler sur l'un des sous-dossiers. Pas sur e si ses un projet distinct ou d'un sous-module. Dans ce cas, puis-je aller directement à ce dossier et exécutez
mvn package /build
à partir de ce dossier (pom.xml il existe)?
OriginalL'auteur Kevin Rave | 2013-05-27
Vous devez vous connecter pour publier un commentaire.
Lors de l'exécution d'un objectif
(e.g mvn install)
maven va vérifier pour pom.xml sur le dossier de l'exécution si pom.xml présent, il va effectuer l'objectif de ce dossier (j'.e projet) s'il y a des modules mentionnés au même but sera exécuté sur les modules, cette opération est récursive.Oui, vous pouvez avoir plusieurs pdm pour un projet, mais la valeur par défaut est pom.xml si vous souhaitez utiliser une autre pom fichier, vous pouvez utiliser
-f
parler de l'autre pom fichier dans votre casmvn -f sonar_pom.xml clean install
, probaly que pom fichier est utilisé pour sonar.Chaque projet dispose d'un pom.xml peut être construit de façon indépendante si le parent et tous avec des dépendances sont présentes dans votre local maven repo.
Pour vérifier la vérification des dépendances de votre local maven pensions de la valeur par défaut est
~/.m2/repository
, mais les paramètres peuvent être modifiés dans settings.xml. Vérifier~/.m2/settings.xml
si le fichier n'existe pas, vous pouvez trouver les paramètres globaux dans le<maven_home>/conf/settings.xml
copie à~/.m2/
alors elle peut être remplacée vérifier la balise suivante<localRepository>/path/to/local/repo</localRepository>
Comme je l'ai mentionné précédemment, vous pouvez faire
mvn package
sur votre module, si vous avez le parent et toutes les dépendances. Vous pouvez obtenir ces dans la combinaison de deux façonsmvn install
ouJ'ai mis à jour ma réponse sur settings.xml. Pour votre 2ème question, si les dépendances ne sont pas présents dans Centrale Repo il n'en téléchargement. Vérifier la dépendance n'est pas téléchargé s'il n'est pas développé par vous vérifiez ensuite référentiel contient que de l'artefact et le configurer en settings.xml Paramètres > Ref.
Génial! Merci! Voici ce qui s'est passé. J'étais en train de mvn package dans le dossier j'ai été dit. Il a été dépendances manquantes sur l'autre dossier. Je suis donc allé dans ce dossier et a couru mvn install, puis il a demandé à un autre dossier de la dépendance, je suis allé dans ce et a couru mvn install, et donc sur 4 dossiers. Je suis allé dans chaque dossier et a couru mvn install. Enfin est venu à l'origine du dossier et a couru mvn install. Il a travaillé. Donc mon hypothèse est la racine de la pom n'est pas faire le travail. Quel est votre avis sur cela? Je devrais être en cours d'exécution sonar_pom.xml par opposition à pom.xml comme me l'a raconté?
En règle générale, si votre affaire avec des multi-projet de module le pom parent devrait avoir ces modules, cochez cette Multi module exemple pour l'échantillon.
Merci, @karthikeyan
OriginalL'auteur Karthikeyan Vaithilingam
Juste pour ajouter à la réponse correcte: dans eclipse, j'ai dû créer un nouveau "run configuration" dans le cadre du "Maven Build" exécuter les configs. J'ai mis le répertoire de base de la norme
et les "Objectifs" du champ à
Alors je pourrais cliquez-droit sur la coutume pom_deploy.xml --> exécuter en tant que... --> exécuter les configurations --> la Coutume Maven Déployer
L' '-T 1C' est facultative et dit Maven pour l'utilisation de plusieurs processeurs simultanément pour la construction/processus de compilation.
OriginalL'auteur Kurt