Domanda

Sto cercando di avere un valore di proprietà variabili e utilizzare il profilo Maven per raggiungere l'output corretto. L'ho fatto per il mio XML Hibernate, log4j.properties e non ho avuto problemi.

Quindi ha funzionato per me nel progetto n. 1 in cui ho un sacco di file in/src/main/risorse. E ho impostato proprietà e filtrazioni di risorse in Maven come segue:

<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>

Quanto sopra ha funzionato senza problemi. Tuttavia, nel mio progetto n. 2 - ho alcuni file che hanno proprietà variabili, ma sono sotto/src/main/webapp/web -infe - faccio lo stesso come sopra, ad eccezione della directory per indicare Web -INF E non funziona. Ho provato il Progetto n. 2 per far passare il file/SRC/Main/Resources e ha funzionato.

Quindi mi sembra che il filtro delle risorse abbia problemi quando il file è sotto/src/main/webapp/web-infe, ma ho bisogno che il file sia lì, quindi va alla cartella Web-INF quando viene generata la guerra.

Qualcuno ha un puntatore su come farlo?

Ecco il seguente snipet dal pom.xml che non funziona (il filtro delle risorse è completamente ignorato)

<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>
È stato utile?

Soluzione

Ho anche avuto questo problema; Sospetto che il principale <resources> La sezione del POM è ignorata dal plug-in di guerra, quindi ho escogitato direttamente il plug-in:

<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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top