Además de src/main/java carpeta, tenemos una carpeta que contiene algo de java generado fuentes que son necesarios para las principales fuentes. La generación de código se invoca manualmente, cuando sea necesario. Fuente generado es comprobado en la fuente de repos. Todo va a ser construido y lleno juntos.

Cuál sería la mejor ubicación para java generado fuentes que va a ser compilado con las principales fuentes? Debería ser:

  • /src/generated/java (siguiendo la misma nomenclatura lógica para src/testInt/java para las pruebas de integración)
  • /generated-src/main/java (en colisión con «El directorio src contiene todo el material de la fuente para la construcción del proyecto»)
  • /src/main/generated-java (bueno… generated-java no es un tipo)
  • …?

La primera opción parece la más adecuada para este caso. ¿Qué te parece? Hay algo en Maven docs que describe esta situación (que me han pasado por alto)? ¿Conoces alguna repo con estructura similar?

Gracias.

Respuesta

Según lo sugerido por @Absurda-Mente, la dirección en la que estamos pensando es dividir el origen en el submódulos (que funciona bien en gradle). Así, el código fuente generado y algunos otros relacionados con la fuente de ir a su propio submódulo (que se producirá el independiente artefacto) y el resto irá en otro submódulo, que utiliza este. Gracias.

  • Yo normalmente uso target carpeta para almacenar el java generado fuentes. Para su caso, será algo así como /target/main/java
InformationsquelleAutor igr | 2014-04-07

3 Comentarios

  1. 38

    Creo que la ubicación depende de la fuente se generan y controlan.

    1. El código fuente se genera automáticamente durante el proceso de generación: a Continuación, me gustaría utilizar target/main/java/, target/test/java/ y así sucesivamente. Este código no se comprueba en CVS ya que se puede reconstruir es bastante fácil. En caso de que usted limpie su proyecto de la target directorio será eliminado y la fuente será la reconstrucción.

    2. El código fuente se genera de forma manual por una herramienta externa o similar: me gustaría utilizar generated/src/main/java/, generated/src/test/java/, generated/src/main/resources/ y así sucesivamente. Este código debe ser facturado. Un beneficio es que, como pronto se verá que el directorio de nivel superior nombre es generated usted saber que todos los archivos/directorios a continuación también se generan. También tiene el estándar de maven estructura de directorios bajo el directorio de nivel superior. Otro punto es que la limpieza es fácil, sólo tienes que eliminar generated y volver a crearla, sin mirar a través de muchos otros directorios (como en el ejemplo: src/main/generated-java y src/test/genera-java).

    EDITAR: Otra buena solución sería la creación de un proyecto de maven que sólo contiene el código fuente generado como myproject-generated-1.0.3.jar. Este proyecto sería una dependencia en su aplicación real. Entonces usted acaba de poner su código fuente generado int src/main/java.

    • actualizado mi respuesta espero que mejor se adapte a
    • tengo, gracias.
    • Soy un poco curioso, la ruta de acceso/solución prefiere?
    • Entonces, ¿qué son las carpetas de destino/generado por las fuentes y de destino/genera-prueba-fuentes para. Las carpetas están vacías, aunque. Estoy usando maven 3.2.5. Estos son creados cuando se va a construir.
    • El código fuente generado por la anotación de los procesadores son por lo general (Ver fx Mapstruct o maven.apache.org/plugins/maven-compiler-plugin/… en destino/genera-fuentes/anotaciones
    • Yo sugeriría que no cometan cualquier cosa, desde el directorio de destino para su control de código fuente
    • Ah, sí, tienes razón, yo era demasiado apresurada, no se dio cuenta de que la pregunta era acerca de dónde colocar el código fuente generado que va a ser facturado. Buena pregunta – me gusta tu «EDITAR»-respuesta.

  2. 3

    Tanto como yo sabemos que no hay ningún estándar de estructura de carpetas para generar fuentes. En mis proyectos, yo prefiero src/gen/java tipo de notación.

    • Swagger-codegen también utiliza esta ubicación.
  3. 0

    En el proyecto de Maven archivo de origen en el interior de la tienda src/main/java , src/main/resources y clase de prueba de la tienda dentro de src/test/java.

    En Maven generado el código (código de Compilación) almacenados en target/ carpeta.

    Cuando usted construye su proyecto de Maven, todos los códigos generados a ser actualizado en la carpeta de destino.

Dejar respuesta

Please enter your comment!
Please enter your name here