maven maven-war-plugin 解決java war項目間的依賴(兩個war都可獨立部署運行,maven 3.2.x親測)


最近整理基礎框架,有些項目不想分布式,所以基礎框架必須同時可獨立部署,也可直接被作為依賴和業務工程打到一起,記錄下解決war項目依賴的要點,一開始用warpath,結果報找不到,有些帖子還是17年的,於是繼續查看。

warpath 是個坑,按照網上的說明基本跑不通,可能是maven-war-plugin 升級了不兼容,不建議再去使用warpath了,maven-war-plugin就可以搞定所有的事情了。直接上結果了。

base-webapp

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <!--注意增加這兩行,在打包時相關的類會被獨立打成jar
                    <attachClasses>true</attachClasses>
                    <classesClassifier>api</classesClassifier>-->
                    <!-- <archiveClasses>true</archiveClasses> --> <!-- 最好不要archiveClasses,否則有些配置的classpath而非classpath*就完了 -->
                    <attachClasses>true</attachClasses>
                 </configuration>
                <version>3.2.0</version>
            </plugin>

XXX-webapp依賴配置:

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <configuration>
                        <!-- <dependentWarExcludes>WEB-INF/lib/*</dependentWarExcludes> -->
                        <!-- <archiveClasses>true</archiveClasses> -->
                     </configuration>
                    <version>3.2.0</version>
                </plugin>

    <dependencies>
        <dependency>
            <groupId>com.XXX.YYY</groupId>
            <artifactId>base-webapp</artifactId>
            <version>1.0.0-SNAPSHOT</version>
            <type>war</type>
        </dependency>
        <dependency>
            <groupId>com.XXX.YYY</groupId>
            <artifactId>base-webapp</artifactId>
            <version>1.0.0-SNAPSHOT</version>
            <type>jar</type>
            <classifier>classes</classifier>
            <scope>provided</scope>
        </dependency>

這樣XXX-webapp就把所有classes和靜態資源都打包進去了,但是默認還會生成target/work目錄,這個后面再看,現在沒時間看。

還沒有整合為spring boot,后面再細化整理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM