将公司内的项目连外网访问,发现有些依赖无法引用,只能拷贝jar包手动引入maven仓库。使用`mvn install:install-file`命令引入,关于这个命令我不多做介绍,可以参考官网:http://maven.apache.org/plugins/maven-install-plugin/install-file-mojo.html#localRepositoryPath的介绍。
这篇博客主要介绍mvn install:install-file命令的一个小坑。如下图,一开始用mvn install:install-file执行的结果:
首先说明,我电脑上maven仓库地址是:/Users/shiwenwei/.m2/repository,命令执行目录是:/Users/shiwenwei/beautyeye/beautyeye。结合上面的图,发现maven没有将jar包安装到maven仓库而是安装在了执行目录下。
查看`mvn install:install-file`官方说明:
如果不指定localRepositoryPath,默认使用settings的配置。查看settins配置:
到这里就很明显了,settings配置引起的。个人猜测:可能是maven在执行mvn install:install-file命令时,不能正常解析~。若想正常执行,有两种方法:
- 修改settings的localRepository,使用全路径:/Users/shiwenwei/.m2/repository
- 执行命令时,指明localRepositoryPath,同样使用全路径