Pregunta

He sido un usuario de largo plazo del sistema de fabricación Marca, pero he decidido empezar a aprender el sistema de construcción Maven. Si bien he leído a través de la mayor parte de los documentos en línea, ninguno parece dame las analogías que estoy buscando. Entiendo ciclo de vida del sistema, pero no he ver una referencia a dependencias paso de compilación. Por ejemplo, quiero generar una gramática JFlex como parte de la etapa del ciclo de vida de compilación. Actualmente, no veo ninguna manera de hacer que el paso a paso de la fase de pre-compilación. Documentación parece estar limitada en este sentido. En general, el concepto de dependencias paso parece ser horneados en Maven y requieren un complemento para cualquier alteración. ¿Es este el caso? ¿Qué me falta, porque en la actualidad el sistema de construcción Maven parece muy limitado en cómo se puede configurar pasos de compilación.

¿Fue útil?

Solución

Se puede hacer cualquier cosa en Maven. Por lo general, tiene una forma predeterminada para hacer cada cosa, y luego se puede enganchar en el anular y si quieres hacer algo especial. A veces se necesita una gran cantidad de pila que desborda y rascarse la cabeza para averiguarlo.

Hay incluso un funcionario JFlex Maven plugin de .

Siempre que sea posible, encontrar a alguien que ha hecho un plugin de Maven hacer lo que quiera. Incluso si no es 100% correcto, al menos, le puede dar una idea de cómo hacer experta en hacer algo.

Configuración mínima

Esta configuración genera código Java de un programa de análisis de todos los archivos de gramática ( .jflex, .jlex *, * .lex, .flex) que se encuentra en src / main / JFlex / y su subdirectorios. El nombre y el paquete del código fuente Java generado son los definidos en la gramática. El código fuente de Java generados se coloca en blanco / generado por la fuente / JFlex, en subdirectorios siguientes la convención de nombres de paquetes de Java. pom.xml

<project>
  <!-- ... -->
  <build>
    <plugins>
      <plugin>
        <groupId>de.jflex</groupId>
        <artifactId>jflex-maven-plugin</artifactId>
        <version>1.6.0</version>
        <executions>
          <execution>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <!-- ... -->
  </build>
  <!-- ... -->
</project>

Esto se siente como la forma Maven para hacer las cosas. Poner tus cosas en las carpetas adecuadas (src / / flex principal), y este plugin generará automáticamente en su proyecto. Si desea hacer cosas encargo más elegante, hay algunas opciones . pero Maven es todo acerca de favorecer convención sobre configuración.

Otros consejos

Para ser franco creo que su forma de pensar actual asigna mucho mejor que la hormiga que a la experta, y sugeriría a partir de eso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top