在咱們寫代碼的時候經常會遇到這樣一個"倔強"的現象,pom.xml
文件中依賴的jar包沒法下載,不管是直接 mvn clean 仍是先清空jar
所在的本地倉庫中的last
unknow
文件 | 文件夾,都仍然沒法下載到依賴.apache
絕大多數是網絡問題致使不能從maven下載.也不排除部分沒有開源的項目.網絡
以上解決思路雖然均可以解決缺乏依賴的問題,但操做起來不太優雅,此時咱們可使用 Maven 提供的插件來解決這個問題- 以下案例:maven
[ 場景 ] : 在使用 kaptcha2.3 (com.google.code.kaptcha)作驗證碼時,maven不能像正常下載到依賴.ui
[ 解決 ] : 建立一個專門的管理此種現象的依賴模塊(modules),如圖:項目結構google
注 :插件
(1)libs
存放所須要的依賴 jar
文件, 可在https://mvnrepository.com搜索手動下載code
(2)pom.xml
增長插件配置 : maven-install-plugin --> 做用: 經過該插件,咱們能夠在執行 mvn clean 命令時將項目所須要的依賴自動安裝進本地倉庫xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.hjj</groupId> <artifactId>my-shop-dependencies</artifactId> <version>1.0.0-SNAPSHOT</version> <relativePath>../my-shop-dependencies/pom.xml</relativePath> </parent> <artifactId>my-shop-external</artifactId> <packaging>jar</packaging> <name>my-shop-external</name> <description></description> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <executions> <execution> <id>install-external-kaptcha</id> <!-- 觸發時機:執行 mvn clean 命令時自動觸發插件 --> <phase>clean</phase> <configuration> <!-- 存放依賴文件的位置 --> <file>${project.basedir}/libs/kaptcha-2.3.jar</file> <repositoryLayout>default</repositoryLayout> <!-- 自定義 groupId --> <groupId>com.google.code.kaptcha</groupId> <!-- 自定義 artifactId --> <artifactId>kaptcha</artifactId> <!-- 自定義版本號 --> <version>2.3</version> <!-- 打包方式 --> <packaging>jar</packaging> <!-- 是否自動生成 POM --> <generatePom>true</generatePom> </configuration> <goals> <goal>install-file</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
最後,經過 mvn clean
命令便可將項目所須要的依賴自動安裝進本地倉庫.blog