2011-12-05 13 views
6

Estoy tratando de tener algún valor de propiedades variables y usar el perfil de Maven para llegar al resultado correcto. He hecho esto para mi hibernate xml, log4j.properties y no tuve ningún problema.filtro de propiedades variables de maven

Me funcionó en el proyecto n. ° 1, donde tengo un montón de archivos en/src/main/resources. Y configuré las propiedades y el filtrado de recursos en maven de la siguiente manera:

<properties> 
    <log.level>DEBUG</log.level> 
</properties> 


<profiles> 
    <profile> 
     <id>production</id> 
     <properties> 
    <log.level>INFO</log.level> 
     </properties> 
    </profile> 
</profiles> 

<build> 
    <resources> 
     <resource> 
      <directory>src/main/resources</directory> 
      <filtering>true</filtering> 
     </resource> 
    </resources> 
</build> 

Lo anterior funcionó sin problemas. Sin embargo, en mi Proyecto # 2 - Tengo algunos archivos que tienen propiedades de variable, pero están en/src/main/webapp/WEB-INF - Hago lo mismo que arriba, excepto que el directorio apunta a la WEB- INF y no funciona Probé el proyecto n. ° 2 para que el archivo fuera de/src/main/resources y funcionó.

Me parece que el filtrado de recursos tiene un problema cuando el archivo está bajo/src/main/webapp/WEB-INF pero necesito que el archivo esté allí para que vaya a la carpeta WEB-INF cuando se genera la guerra.

¿Alguien tiene un puntero sobre cómo hacer esto?

Aquí es el siguiente snipet del pom.xml que no funciona (el filtrado de recursos está completamente ignorado)

<properties> 
     <wsdl.url>http://stage/wsdl-url</wsdl.url> 
</properties> 

<profiles> 
    <profile> 
     <id>production</id> 
     <properties> 
    <wsdl.url>http://prod/wsdl-url</wsdl.url> 
     </properties> 
    </profile> 
</profiles> 

<build> 
    <resources> 
     <resource> 
      <directory>src/main/webapp/WEB-INF</directory> 
      <filtering>true</filtering> 
     </resource> 
    </resources> 
</build> 

Respuesta

5

También tuve este problema; Sospecho que la sección principal <resources> del POM es ignorado por el plug-in de la guerra, por lo tanto, se me ha ocurrido con la configuración del plug-in directamente:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <configuration> 
     <filters> 
      <filter>filter.properties</filter> 
     </filters> 
     <webResources> 
      <resource> 
       <directory>WebContent/WEB-INF</directory> 
       <filtering>true</filtering> 
       <targetPath>WEB-INF</targetPath> 
      </resource> 
     </webResources> 
    </configuration> 
</plugin> 
+0

Gracias - justo lo que necesito –

Cuestiones relacionadas