在和一些第三方厂商对接的过程中, 偶尔会遇到对方提供的SDK自带maven无法获取的jar包的情况(对于开源激进者的笔者很讨厌这种行为)
我们该如何处理这种情况呢, 其实解决思路很简单:
让我们来看看具体怎么操作吧
idea中虽然可以在项目配置加入, 但打包时会报错, 相关的处理方案不再思考
首先, 终极解决方案是: 把jar包传到自己的maven私服上
对于没有自己私服的小伙伴们这是句废话, 我们还是来看看实际的吧
以下是我个人的解决方案, 先介绍下项目目录:
project |---src |---lib |---pig.jar |---pom.xml
我们可直接在pom中加入如下引用:
<dependency> <groupId>cn.com.pig</groupId> <artifactId>pig</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${project.basedir}/lib/pig.jar</systemPath> </dependency>
其中的groupId, version等内容, 可以在idea中打开jar包, 查看里面的MANIFEST.MF获取
完成了pom引入后, 直接执行maven的package命令, 会出现找不到pig.jar的问题, 我们继续来进行修改:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!--加入这条配置即可--> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> </plugin> </plugins> <build>
在和硬件设备交互时, 我们除了基础的jar包外, 可能还需要引入一些dll文件(当然, 笔者更推荐将这些dll放在项目外部, 引用时通过绝对路径处理)
可以采用下面的方式来加入这些资源:
<resources> <resource> <directory>dll</directory> <targetPath>/BOOT-INF/dll/</targetPath> <includes> <include>*.*</include> </includes> </resource> </resources>
对上面的参数进行下讲解: