Como posso especificar uma regra de dependência em Maven entre ficheiros de determinados sufixos?
-
18-09-2019 - |
Pergunta
Eu tenho um programa Java que gera classes Java para o meu pedido. Basicamente, ele leva em uma simples especificação para uma classe e gera uma especializada forma de feijão Java. Quero integrar esta em meu pom.xml Maven assim que, se o arquivo de entrada é alterado, Maven gera automaticamente o novo arquivo .java antes da fase de compilação de Maven.
Eu sei como fazer isso trivialmente em fazer, mas eu não encontrar nada no doc Maven com essa funcionalidade.
Solução
Você não forneceu muitos detalhes sobre o processo de geração de código, mas talvez você possa simplesmente invocar o gerador de código com o exec-maven-plugin (ver a strong> Exemplos <). A convenção é gerar fontes em ${project.build.directory}/generated-sources/<tool>
. Em seguida, adicione as fontes geradas com a build-auxiliar-plugin e sua add-sources
mojo. Ligar cada coisa no href="http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference" rel="nofollow noreferrer"> generate-sources
fase .
Eu vou apenas mostrar as coisas build-auxiliar abaixo:
<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>
Você também pode escrever um simples plugin para embrulhar o seu gerador. Nesse caso, ter um olhar para Guia de fontes geradoras .
PS:. Talvez eu tenha perdido alguma coisa, há um tipo de incompatibilidade entre a minha resposta e o título da sua pergunta ??p>
Outras dicas
Maven tem fase " geram-fontes " para este