Maven中新增本地Jar包,並在打包時新增到war中
阿新 • • 發佈:2019-01-25
在我們使用Maven進行依賴管理時,有些jar包沒有提供maven倉庫的repo,我們可以釋出到本地倉庫,也可以直接從本地進行新增, 如下圖這種方式
``` <dependency> <groupId>com.youzan</groupId> <artifactId>NSQ-Client</artifactId> <scope>system</scope> <version>2.4.2.2-os-RELEASE</version> <systemPath>${project.basedir}/libs/NSQ-Client-2.4.2.2-os-RELEASE.jar</systemPath> </dependency> ```
<scope>system</scope> scope的類別預設是compile。compile表示被依賴專案需要參與當前專案的編譯,測試和執行,打包的時候通常需要包含進去。 其中system類別預設打包的時候不會包含進去,並且依賴項是從本地系統中拿而不會從maven倉庫下載,需要配合systemPath一起使用。 因此為了將本地依賴打入war包需要在pom檔案裡面新增如下配置
```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>compile</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory> <includeScope>system</includeScope> </configuration> </execution> </executions> </plugin> ```