Come faccio a specificare una regola di dipendenza in Maven tra i file di alcuni suffissi?
-
18-09-2019 - |
Domanda
Ho un programma Java che genera le classi Java per la mia applicazione. In sostanza ci vuole in una semplice specifica per una classe e genera una specializzati forma di bean Java. Voglio integrare questo nel mio Maven pom.xml così che se il file di input viene modificato, Maven genera automaticamente il nuovo file .java prima della fase di compilazione di Maven.
Io so come farlo banalmente a fare, ma non ho trovato nulla nel doc Maven con questa funzionalità.
Soluzione
Non hai fornito più dettagli sul processo di generazione del codice, ma si potrebbe forse semplicemente richiamare il generatore di codice con il exec-maven-plugin (vedi strong> Esempi ). La convenzione è quello di generare fonti in Mi limiterò a mostrare la roba di build-helper di seguito: Si potrebbe anche scrivere un semplice plugin per avvolgere il generatore. In questo caso, date un'occhiata alla Guida alle fonti che generano . PS:. Forse ho perso qualcosa, c'è una sorta di mancata corrispondenza tra la mia risposta e il titolo della tua domanda ${project.build.directory}/generated-sources/<tool>
. Quindi aggiungere le sorgenti generate con la build-helper-plugin e la sua add-sources
mojo. Associare ogni cosa sul href="http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference" rel="nofollow noreferrer"> generate-sources
fase di <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>
Altri suggerimenti
Maven ha fase " generare sorgenti " per questo