Uso de maven utilizando disposición de directorios no estándar
Pregunta
Estoy tratando de aplicar experto a un proyecto existente que ya tiene una estructura de directorios en su lugar. Todo lo que puedo encontrar la pregunta anterior es la siguiente.
Maven estructura de directorios
Sin embargo, mi obligación es más detallada. Vea a continuación la estructura de directorios:
<root dir>
|
+--src-java
|
+--src-properties
|
+--WEB-INF
Sé que podríamos tener algo como
<build>
<sourceDirectory>src-java</sourceDirectory>
...
</build>
Pero sourceDirectory
es para el código fuente de Java solamente, si no me equivoco.
En la estructura anterior, ¿cómo lo declaro en pom.xml
? Al mover el directorio es mi última opción en este momento.
Solución
Creo que necesita tener algo similar a continuación.
Al ver WEB-INF
, supongo que usted quiere construir una guerra. Maven plugin de guerra hace esto. Usted tendrá que configurar esta un poco desde la estructura de carpetas no es estándar - por ejemplo, es posible que necesite especificar la ubicación de la propiedad web.xml utilizando webXml
. Estos están documentados en la página de uso .
<build>
<sourceDirectory>src-java</sourceDirectory>
...
<resources>
<resource>
<directory>src-properties</directory>
</resource>
</resources>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warSourceDirectory>WEB-INF</warSourceDirectory>
...
</configuration>
</plugin>
</plugins>
</build>
Otros consejos
Puede cambiar la estructura de directorios por defecto declarado en el súper POM sobreescribiéndolos en su pom.
Para su ejemplo, por ejemplo.
<sourceDirectory>src-java</sourceDirectory>
<resources>
<resource>
<directory>src-properties</directory>
</resource>
</resources>
Maven copiará todos los recursos para el archivo jar. Si desea incluir WEB-INF a la jarra que sería mejor para moverlo en el directorio de recursos especificados. De lo contrario, usted tiene que copiarlo por su cuenta (con plugins Maven) al directorio de destino - supongo
. <resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
</resource>
aquí .