java - custom - taglib教學




將Maven文件過濾到WEB-INF中 (3)

我試圖添加一些過濾到應用程序上下文文件,該文件駐留在WEB-INF目錄中。

我在文件夾/ src / main / resources中有要過濾的文件(xmlgateway-context.xml)。

我在文件夾src / main / filters中有屬性文件(config-e05.properties)

我的POM設置如下:

<!-- environment profiles -->
<profiles>
 <profile>
  <id>e04</id>
  <properties>
   <targetenv>e04</targetenv>
  </properties>
 </profile>
 <profile>
  <id>e05</id>
  <properties>
   <targetenv>e05</targetenv>
  </properties>
 </profile>
</profiles>

<!-- build settings (filtering) -->
<build>
 <filters>
  <filter>src/main/filters/config-${targetenv}.properties</filter>
 </filters>
 <resources>
  <resource>
   <targetPath>WEB-INF</targetPath>
   <filtering>true</filtering>
   <directory>src/main/resources</directory>
  </resource>
 </resources>
</build>

這將正確安裝mvn,但是當我打開輸出war文件時,我希望文件xmlgateway-context.xml位於/ WEB-INF目錄中,但它最終位於/ WEB-INF / classes / WEB文件夾中-INF。

如何將此文件放到正確的位置。

或者,我可以將應用程序上下文放在不同的位置並在那裡引用它。



將filteringDeploymentDescriptors設置為true

     <build>
        <finalName>web-project-name</finalName>
        <filters>
            <filter>src/main/resources/app.properties</filter>
        </filters>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <compilerArguments>
                        <endorseddirs>${endorsed.dir}</endorseddirs>
                    </compilerArguments>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                    <filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
                </configuration>
            </plugin>           
        </plugins>
    </build>

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
            <webResources>
                <resource>
                    <directory>${basedir}/src/main/webapp/WEB-INF</directory>
                    <filtering>true</filtering>
                    <targetPath>WEB-INF</targetPath>
                    <includes>
                        <include>**/xmlgateway-context.xml</include>
                     </includes>
                </resource>
            </webResources>
        </configuration>
    </plugin>
</plugins>

將上面的內容添加到您的pom.xml中。 編輯:只是解釋上面的conf正在做什麼。 添加了這個,mvn將過濾src/main/webapp/WEB-INF的文件,特別是過濾包含的文件xmlgateway-context.xml ,過濾後它將推送WEB-INF文件夾中的文件(這就是什麼target標籤說)。

如果不清楚,請更新。





pom.xml