Skip to content

maven 集成本地Jar配置

将本地(非maven仓库)的jar 集成至项目

pom依赖配置

xml
<dependency>
    <groupId>you.group</groupId>
    <artifactId>artifactId</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/libs/you-local-jar.jar</systemPath>
</dependency>

配置后,在Itellij开发环境正常运行,如果打包部署则会提示找不到相关类。因为scope为system时,maven默认不会打包到运行库中

打包配置

jar 包配置

xml
<plugins> 
  <plugin> 
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-maven-plugin</artifactId>  
    <configuration> 
      <includeSystemScope>true</includeSystemScope> 
    </configuration> 
  </plugin> 
</plugins>

执行打包后,jar会输出到BOO-INF/lib 下

war包配置

配置了,war构建时会将本地jar输出到 \WEB-INF\lib-provided 下。tomcat等容器默认加载WEB-INF\lib 下的类库

因此需要在pom 中下添加如下maven-war-plugin配置

xml
<plugin> 
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-war-plugin</artifactId>  
    <configuration> 
        <webResources> 
        <resource> 
            <!-- 存放本地jar的文件夹 src/main/resources/lib -->
            <directory>${project.basedir}/libs</directory>
            <!-- 目标lib目录 WEB-INF/lib/ -->
            <targetPath>WEB-INF/lib/</targetPath>  
            <includes>
            <!-- 匹配所有jar包 -->
            <include>**/*.jar</include> 
            </includes> 
        </resource> 
        </webResources> 
    </configuration> 
</plugin>