maven打包加入本地jar
maven项目在开发的时候,有时候,并不是所有的依赖都可以在远程仓库能够获取到,只能是在一些网站下载没有推到公共仓库的jar文件,然后加入到工程的buildpath中,在本地开发运行,不会有问题,但是最后打包部署的时候,会因为缺少这些没有在pom.xml文件中指定的依赖jar而报错。
因此,我们需要将本地jar也加入到pom.xml的依赖配置项中,而本地jar最好是放在项目路径下,比如lib目录,如下所示:
![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZlaW5pZmk_size_16_color_FFFFFF_t_70][]
因为我们的项目有时候并不是在本地进行打包构建,而是把代码提交到gitlab,在gitlab服务器上进行自动构建,如果放在项目路径之外,而gitlab服务器上又没有的时候,还是会报错。
以上这一步做好了,其实配置就很简单了,只需要在pom.xml配置文件中增加一个dependency的配置即可,groupId,artifactId,version均随意指定,因为最终起决定作用的是scope属性以及systemPath属性,如下所示:
![20200522135002325.png][]
本人亲测,只需要这么配置,我们进行mvn package的时候,就不会报错,而且打出的jar包直接运行也不会报错。
真的是打脸啊,本地运行没有报错,是有个警告,构建成功,放到gitlab,自动构建,最后运行,出现了以下警告:
[WARNING] Some problems were encountered while building the effective model for com.huali.mecjar:1.0.0
[WARNING] ‘dependencies.dependency.systemPath’ for asnrtjar should not point at files within the project directory, ${project.basedir}/lib/asnrt.jar will be unresolvable by dependent projects @ line 99, column 17
意思是不能使用项目目录中的jar,也有人遇到了这样的问题:[https://www.phpsong.com/3536.html][https_www.phpsong.com_3536.html],根据他的提示,需要将$\{project.basedir\}改为$\{pom.basedir\} 。
再次构建就会顺利通过。
还没有评论,来说两句吧...