Maven編譯的時候加載本地路徑jar


大家都知道Maven的依賴是通過pom文件管理的,只要配置了<dependency>,Maven就會從本地倉庫 -> 遠程倉庫 -> 中央倉庫獲取依賴的jar。

但是如果倉庫中不存在某個jar,並且這個jar由某些組織自行維護,並不會上傳到倉庫,這種情況,該怎么處理呢?

解決方案是,在pom文件中配置:

<build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <compilerArguments>
                            <!-- 編譯的時候引入lib-ext目錄下的jar(不在倉庫的第三方jar) -->
                            <extdirs>lib-ext</extdirs>
                        </compilerArguments>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <configuration>
                        <webResources>
                            <resource>
                                <!-- lib-ext打包到WEB-INF/lib下 -->
                                <directory>lib-ext</directory>
                                <targetPath>WEB-INF/lib/</targetPath>
                                <includes>
                                    <include>**/*.jar</include>
                                </includes>
                            </resource>
                        </webResources>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

這樣,你只需要將jar放在lib-ext目錄,編譯的時候依然能到加載到lib-ext中jar的相關類,當前,lib-ext換成其他目錄是一樣的。


免責聲明!

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



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