原因:
在一些特殊的情况下,不管是自己还是别人的 jar 包,没有源码的情况下是很难安装或编译到自己本地 maven 仓库(.m2文件夹)的 repository 文件夹里面。用绝对路径在开发环境 debug 或者 run 都是可行的,但是一旦要整个项目打 jar 包,就会出现报错,打包失败。
解决办法:
格式:mvn install:install-file -Dfile=.jar -DgroupId=groupId -DartifactId=artifactId -Dversion=version -Dpackaging=jar
修改内容解释:
-Dfile=.jar 文件绝对路径
-DgroupId=groupId(根包名称)
-DartifactId=artifactId(模块名称)
-Dversion=version(版本号)
例子:
sqljdbc4-3.0.jar 是连接 Microsoft SQL Server 数据库比较旧版本的一个 jar 包,线上的 maven 仓库都没有收录,因此,下载到这个 jar 包后,只能手动通过 mvn install 命令安装。
mvn install:install-file -Dfile=D:\jar\sqljdbc4-3.0.jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=3.0 -Dpackaging=jar
这行命令执行完成之后,在.m2\repository\com\microsoft\sqlserver\sqljdbc4\3.0文件夹下就有了 sqljdbc4-3.0.jar 相关依赖文件了,项目引用方式与其它 jar 包一样。