架构:
微服务springboot架构,maven管理依赖的jar
项目结构:
根 model层 说明
gateway restful
api
event
facade
domain
infrastructure 基础实施层
bootstrap 启动model
背景:
想访问一个公共平台的接口,根据自己的权限申请了一个sdk开发包。因为是特殊定制的一个jar,所以不能把这个jar上传到公司的maven私服服务器上,所以项目中只能引入这个jar。
实现:
在基础实施层model的pom文件中引入本地jar包
<dependency>
<!--自定义配置groupId -->
<groupId>com.jd.*.*</groupId>
<!--自定义配置artifactId-->
<artifactId>*</artifactId>
<!--自定义配置version-->
<version>2.0</version>
<!--固定写成:system-->
<scope>system</scope>
<!--jar包放在项目中的位置-->
<systemPath>${project.basedir}/src/main/resources/lib/a.jar</systemPath>
</dependency>
问题:
本地idea启动项目可以正常访问jar包中的内容,但是当把项目部署到服务器的时候,启动项目会报错,提示jar无法找到。
解决:
找到启动整体项目的微服务model(bootstrap),然后在pom文件中增加属性
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.0.2.RELEASE</version>
<configuration>
<!--主要是这个配置,添加includeSystemScope配置-->
<includeSystemScope>true</includeSystemScope>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
项目启动正常!!!
————————————————
版权声明:本文为CSDN博主「msy墨白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41964774/article/details/120905594