Tengo un proyecto WAR muy simple y quiero incluir un directorio llamado META-INF
en la parte superior de la carpeta de salida de clases donde están todas las clases compiladas de Java. Estoy usando Maven, pero parece que por defecto Maven no incluirá nada que no sea una clase Java. Por lo tanto, ignora mi directorio META-INF
que se encuentra en la parte superior del directorio src
. El directorio META-INF
contiene un archivo llamado persistence.xml
. ¿Alguna sugerencia rápida sobre cómo ordenarle a Maven que coloque este directorio y archivo en la carpeta de salida?Maven: incluye una carpeta META-INF en la carpeta de clases
Respuesta
Responderé indirectamente a su pregunta diciendo que si ya ha dado el salto a Maven2, definitivamente recomendaría usar el Archetype Plugin. Usar el arquetipo de aplicación web asegurará que termines con una estructura de directorios canónicos. Cualquiera que mire su fuente inmediatamente sabrá dónde está todo y no habrá dudas sobre dónde se encuentran sus archivos.
En general, para un proyecto Maven basado en Java, los archivos que no son de origen deben ir en el subdirectorio src/main/resources
del proyecto. El contenido de ese directorio resources
se copia en el directorio de salida (de manera predeterminada, target/classes
) durante la fase de recursos de proceso de la compilación.
Para los proyectos WAR de Maven, es un poco más complicado: también está el directorio src/main/webapp
, donde Maven espera encontrar WEB-INF/web.xml
. Para construir su archivo WAR, ese archivo debe existir; de lo contrario, verá un mensaje de error como este:
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)
Como debe existir el directorio WEB-INF
bajo src/main/webapp
, recomendaría evitando definir de nuevo en src/main/resources
. Aunque esto es perfectamente válido y los contenidos de los dos directorios se fusionarán, puede confundirse si se define un archivo en ambos. El contenido de src/main/resources
tendrá prioridad ya que se copian en la parte superior de los contenidos desde src/main/webapp
.
¡Te amo hombre! – willcodejavaforfood
¡Tu publicación ha resuelto mi error! ¡Gracias! ¡Por ti! –
Lo mismo hizo el mío, buen compañero de trabajo – myro
Dale la entrada a continuación en pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<!--webappDirectory>/sample/servlet/container/deploy/directory</webappDirectory-->
<packagingExcludes>**/web.xml</packagingExcludes>
</configuration>
</plugin>
poner esto en pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
Deberías agregar un meta texto – keyser
- 1. Maven war-inplace: limpia las clases y la carpeta lib
- 2. Falta la carpeta maven .m2
- 3. Java Jar Ant incluye la carpeta
- 4. ¿Cómo agregar otra carpeta fuente de prueba a Maven y compilarla en una carpeta separada?
- 5. Maven: agregue una carpeta o archivo jar al classpath actual
- 6. Cómo configurar la carpeta raíz para PHP incluye archivos
- 7. @carpeta y + carpeta
- 8. .gitignore/carpeta vs carpeta/
- 9. No se creó la carpeta de recursos de Maven
- 10. Maven Para copiar el archivo jar de la carpeta local
- 11. Cargar clases desde la carpeta sin especificar el paquete
- 12. Carpeta ReflectedSchemas en la carpeta AppData del usuario (Visual Studio)
- 13. Cuál es la diferencia entre una carpeta fuente y una carpeta (normal)
- 14. Cómo desinstalo una carpeta
- 15. Obtener archivos en una carpeta
- 16. Cómo copiar un archivo de una carpeta a otra carpeta
- 17. Eliminar una carpeta en la tarjeta SD
- 18. Android - ¿Descomprimir una carpeta?
- 19. Añadir ruta de clase a la carpeta que contiene los archivos de propiedades en Maven
- 20. Comprimir una carpeta
- 21. ¿Cómo abrir una carpeta?
- 22. Extraña carpeta "local" dentro de la carpeta virtualenv
- 23. Número de carpeta de IntelliJ y Maven Source
- 24. El sitio de Maven (Maven 3) genera una carpeta de sitio vacía
- 25. Crear una carpeta dentro de la carpeta de documentos en las aplicaciones de iOS
- 26. eliminando carpeta de java
- 27. ClickOnce - Carpeta de publicación frente a la carpeta Instalación
- 28. ¿Cómo importar un módulo desde una carpeta al lado de la carpeta actual?
- 29. SVN comprueba el contenido de una carpeta, no de la carpeta en sí
- 30. IntelliJ no ve la carpeta de recursos
Muy buena pregunta, gracias. –