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换成其他目录是一样的。

猜你喜欢

转载自www.cnblogs.com/dushenzi/p/10669850.html
今日推荐