Como posso especificar uma regra de dependência em Maven entre ficheiros de determinados sufixos?

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

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.

Foi útil?

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

Outras dicas

Maven tem fase " geram-fontes " para este

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top