Comment puis-je spécifier une règle de dépendance Maven entre les fichiers de certains suffixes?

StackOverflow https://stackoverflow.com/questions/2411932

Question

J'ai un programme Java qui génère des classes Java pour mon application. Fondamentalement, il prend dans une spécification simple pour une classe et génère une institution spécialisée forme de haricot Java. Je veux intégrer dans mon Maven pom.xml si que, si le fichier d'entrée est modifiée, Maven génère automatiquement le nouveau fichier .java avant la phase de compilation Maven.

Je sais comment faire trivialement en faire, mais je ne trouve rien dans le doc Maven avec cette fonctionnalité.

Était-ce utile?

La solution

Vous n'avez pas fourni beaucoup de détails sur votre processus de génération de code, mais vous pourriez peut-être invoquer simplement le générateur de code avec le exec-maven-plugin (voir Exemples section ). La convention est de générer des sources ${project.build.directory}/generated-sources/<tool>. Ensuite, ajoutez les sources générées avec le build-aide-plugin et son add-sources mojo. Liez tout sur la phase generate-sources .

Je vais montrer les choses build-assistant ci-dessous:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>add-mytool-sources</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>${project.build.directory}/generated-sources/mytool</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

Vous pouvez également écrire un simple plugin pour envelopper votre générateur. Dans ce cas, consultez le Guide des sources générant .

PS. Je peux avoir manqué quelque chose, il y a une sorte de décalage entre ma réponse et le titre de votre question

Autres conseils

Maven ont la phase " " pour ce

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