今天遇到一個mavan倉庫中沒有的jar包, 故只能添加本地jar包, 花了很多時間找資料,終於OK。故在此記錄。apache
1. 第一次,在網上看到說能夠用<systemPath> 解決, 以下:maven
<dependencies> <dependency> <groupId>xxx</groupId> <artifactId>xxx</artifactId> <version>xxx</version> <scope>system</scope> <systemPath>${basedir}/xx.jar</systemPath> </dependency> </dependencies>
可是,在運行jetty 的以及打包的時候,會找不到引用的包,直接pass掉。各類蛋疼,都是maven不熟惹的禍。故去maven官網看了一下文檔,搗鼓了好一陣兒,終於找到了一個解決辦法:url
2. 建立本地倉庫,以plugin的形式進行安裝:spa
(1)建立本地倉庫: 插件
<repositories> <repository> <id>local-repo</id> <url>file://${basedir}/repo</url> </repository> </repositories>
(2)將本地庫安裝到maven:code
mvn install:install-file -Dfile=<jar-path> -DgroupId=<group> -DartifactId=<artifactId> -Dversion=<version> -Dpackaging=<packaging> -DlocalRepositoryPath=<path>
(注:參數說明:jar-path 爲你的jar所在路徑, group,artifactId, version 這個很少說, packaging 爲jar或war, DlocalRepositoryPath是你以前建立的本地倉庫的路徑)。blog
(3) 以插件形式安裝:ci
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>2.4</version> <executions> <execution> <phase>initialize</phase> <goals> <goal>install-file</goal> </goals> <configuration> <groupId>xxx</groupId> <artifactId>xxx</artifactId> <version>xxx</version> <packaging>jar</packaging> <file>${basedir}/xxx.jar</file> </configuration> </execution> </executions> </plugin>
(4) 添加依賴:文檔
<dependency> <artifactId>xxx</artifactId> <groupId>xxx</groupId> <version>xxx</version> </dependency>
ok, 到此就ok啦。 因爲對maven不是太熟,的確花了很多時間去看資料。特在此記錄,一來留個筆記,而來但願能幫助到遇到一樣問題的人。it