Maven配置覆蓋內嵌tomcat虛擬映射路徑

Maven配置覆蓋內嵌tomcat虛擬映射路徑

  • 直接配置報錯,錯誤提示以下:
    Caused by: java.lang.IllegalArgumentException: addChild: Child name '/store' is not unique
    複製代碼
    • 緣由分析:pom.xml的配置並無覆蓋tomcat/conf/server.xml中的配置,致使配置中存在多個相同配置

解決方案

  • 下載tomcat7-maven-plugin-2.2.jar.zip文件,解壓並覆蓋本地倉庫中的tomcat7-maven-plugin-2.2.jar, 好比個人本地倉庫在:D:\M2REPO\org\apache\tomcat\maven\tomcat7-maven-plugin\2.2下,那麼咱們只須要解壓並此目錄下的 tomcat7-maven-plugin-2.2.jar覆蓋此文件就ok.

pom.xml配置java

<plugins>
    <!-- 指定jdk1.7編譯,不然maven update 可能調整jdk -->
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
            <source>1.7</source>
            <target>1.7</target>
            <encoding>UTF-8</encoding>
        </configuration>
    </plugin>
    <!-- tomcat7插件。使用方式:tomcat7:run -->
    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
            <update>true</update>
            <port>8080</port>
            <uriEncoding>UTF-8</uriEncoding>
            <server>tomcat7</server>
            <!-- tomcat虛擬映射路徑 -->
            <staticContextPath>/store</staticContextPath>
            <staticContextDocbase>d:/file/store/</staticContextDocbase>
            <contextReloadable>false</contextReloadable>
            <useTestClasspath>true</useTestClasspath>
        </configuration>
    </plugin>
</plugins>
複製代碼

參考地址

相關文章
相關標籤/搜索