Question

Je suis un utilisateur de longue date de la Marque système de construction, mais j'ai décidé de commencer à apprendre le système de build Maven. Alors que je l'ai lu la plupart des documents en ligne, aucun ne semble me donner les analogies que je cherche. Je comprends le cycle de vie du système, mais je ne vois pas une référence pour compiler les dépendances étape. Par exemple, je veux générer une grammaire JFlex dans le cadre de l'étape du cycle de vie de la compilation. À l'heure actuelle, je ne vois aucune façon de faire cette étape une étape de phase de pré-compilation. La documentation semble se limiter à ce sujet. En général, le concept de dépendances étape semble être cuit dans Maven et nécessitent un plugin pour toute modification. Est-ce le cas? Qu'est-ce que je manque, car actuellement le système de build Maven semble très limité dans la façon dont vous pouvez les étapes de compilation de configuration.

Était-ce utile?

La solution

Vous pouvez faire quoi que ce soit dans Maven. Il a généralement une façon par défaut à faire chaque chose, et vous pouvez brancher et remplacer si vous voulez faire quelque chose de spécial. Parfois, il faut beaucoup de Stack et Débordement gratter la tête pour comprendre.

Il y a même un responsable JFlex plugin Maven .

Chaque fois que possible, trouver quelqu'un qui a fait un plugin Maven faire ce que vous voulez. Même si ce n'est pas 100% à droite, il peut au moins vous donner une idée sur la façon de faire maven faire quelque chose.

Configuration minimale

Cette configuration génère du code Java d'un analyseur pour tous les fichiers de grammaire ( .jflex, * .jlex, * .lex, .flex) trouvés dans src / main / jflex / et son sous-répertoires. Le nom et le package du code source Java généré sont ceux définis dans la grammaire. Le code source Java généré est placé dans la cible / généré source / jflex, dans les sous-répertoires suivants la convention Java sur les noms de package. pom.xml

<project>
  <!-- ... -->
  <build>
    <plugins>
      <plugin>
        <groupId>de.jflex</groupId>
        <artifactId>jflex-maven-plugin</artifactId>
        <version>1.6.0</version>
        <executions>
          <execution>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <!-- ... -->
  </build>
  <!-- ... -->
</project>

Cela se sent comme la façon dont Maven à faire des choses. Mettez vos trucs dans les bons dossiers (src / main / flex), et ce plugin construira automatiquement dans votre projet. Si vous voulez faire des choses plus fantaisistes sur mesure, il y a quelques options . mais Maven est tout au sujet de la convention favorisant sur la configuration.

Autres conseils

Pour être franc, je pense que votre état d'esprit actuel des cartes beaucoup mieux que de fourmi maven, et je suggère à commencer par cela.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top