Comment puis-je spécifier une règle de dépendance Maven entre les fichiers de certains suffixes?
-
18-09-2019 - |
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é.
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