8
votes

Maven Site pour Multi Module

J'ai un projet maven avec de nombreux sous-modules et j'utilise le parent pom pour contrôler les plugins le répertoire comme ci-dessous xxx

par conséquent src \ site \ site.xml contient le menu personnalisé comme ci-dessous xxx

après i Exécution MVN Site: étape à root (suggéré à partir de plug-in Maven Site ), la page Web du parent va bien, tandis que le \ index.html ne contient aucun menu (pas d'informations sur le projet et rapport de projet)

Je remarque si je exécute mvn site sous Sous-modules , l'index.html ne contient aucun menu à gauche, tandis que l'individu HTML existe dans le répertoire comme PMD.HTML, Licence.HTML

  • dois-je ajouter src \ site \ site.xml dans chaque sous-module ou autre meilleur moyen?
  • ou ai-je fait quelque chose de stupide dans pom.xml quelque part?

    Toute astuce?

    [Mise à jour] Aussi comme pour la bannière image, si je définis dans le parent comme celui-ci xxx

    Le site Pour le sous-module avec des points à une direction incorrecte, en HTML, on dirait que .. \ \ <\ , pas .. \ images \ mylogo.png


4 commentaires

Si j'ajoute un site simple.xml sous chaque sous-module, cela fonctionne bien maintenant


Vous pouvez répondre à votre propre question et le choisir comme correctif. De cette façon, il serait visible des pages d'ensemble de la question de la question.


Ce n'est pas une bonne solution que je m'attendais et je veux toujours avoir des gens à me donner une meilleure réponse, et ce système recommande de ne pas répondre à ma propre question.


Ok, ça va jusqu'à présent (si vous voulez toujours obtenir des réponses) - mais alors vous commenciez le premier commentaire est trompeur ;-)


4 Réponses :


5
votes

Si vous souhaitez éviter de copier le site.xml à chaque sous-module manuellement, utilisez le Maven-Ressources-Plugin pourrait être une solution de contournement: ajoutez ceci à votre parent POM:

<properties>
    <site.basedir>${project.parent.basedir}</site.basedir>
</properties>


1 commentaires

Éventuellement remplacé par la réponse acceptée ici: Stackoverflow.com/Questtions/10848715/...



0
votes

J'utilise un petit script Python qui crée tous les fichiers site.xml d'un modèle. Voici le gist .


0 commentaires

5
votes

Il est possible d'hériter des menus du parent site.xml code> à l'aide de l'attribut hériter code>.

par exemple, p>

<project>
  ....
  <body>
   <menu name="Overview" inherit="top">
    <item name="Introduction" href="introduction.html"/>
   </menu>
   <menu name="Development" inherit="top">
      <item name="Getting started" href="designenv.html"/>
      <item name="FAQ" href="designfaq.html" />
      <item name="Javadoc" href="apidocs/index.html" />
   </menu>
   <menu ref="modules"/>
   <menu ref="reports"/>
 </body>
</project>


0 commentaires

2
votes

J'ai trébuché sur ceci lorsque vous essayez de générer un site multim Module Maven et je voulais juste partager une solution que j'ai proposée.

Dans votre parent POM Ajouter P>

<siteDirectory>${session.executionRootDirectory}/src/site</siteDirectory>


1 commentaires

Cependant, cela ignorera complètement tout ce qui est spécifique aux modules d'enfants. D'abord, j'ai aussi pensé que ce serait la solution, mais cela fait quelque chose de légèrement différent.