如何在idea中设置该项目独立的本地仓库和maven设置
1、在你想存放仓库(repository)的目录下创建repository(仓库)文件夹,和setting.xml设置文件夹。我这次为了方便知道这个仓库是独属于这个项目的,所以就建在了该项目的目录下。
创建方式如下图:
2、打开setting.xml文件,配置maven信息。
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
这里面配置的有比较全的或内镜像,可以按照喜好选取(最后一个是公司的镜像)
其中第一个配置localRepository标签时需要修改的,这里面的目录要修改成repository仓库的目录。这样就把配置文件和仓库地址映射起来了。
3、配置idea,使项目、maven和setting文件映射起来
打开idea按下快捷键ctrl+alt+s打开设置面板
搜索maven
按照图示配置:
其中第一行是maven程序安装的地址
第二行是我们需要映射的setting文件地址,第三行会自动换成setting同级目录下的repository文件,所以就不用管了。
这样这个项目就通过idea进行了maven,setting,仓库直接独立的映射了。该项目以后就会根据这个配置和仓库运行。
maven默认仓库和自己设置的独立仓库的设置
当我们在需要手动下载jar包并需要导入本地仓库时,就要用到maven默认仓库,因为导入的jar包只会进入默认仓库。导入的方式下面将。
那么如何设置现在项目使用的maven仓库时默认的仓库呢?
首先进入maven的安装目录下的conf文件夹下,如图:
在这里面修改setting文件中的仓库地址,就是把默认的仓库地址给修改了,以后在进行手动导入jar包进入目标仓库,就要先把默认仓库修改为目标仓库地址。
手动下载jar包并导入进本地仓库
1、先根据上文设置好默认仓库
2、根据idea的maven提示起冲突的详细jar包名记录下来
3、去网上手动下载该jar包
4、启用管理员角色运行cmd
5、输入命令
mvn install:install-file
-Dfile=D:\jarTest\spring-cloud-netflix-eureka-server-1.3.0.RC1.jar
-DgroupId=org.springframework.cloud
-DartifactId=spring-cloud-starter-eureka-server
-Dversion=1.3.0.RC1
-Dpackaging=jar
-DgeneratePom=true
注意:
在cmd中输入时每行的代码在复制进去时要有空格(每行直接的代码拼接时有几个空格就行)
其中
-Dfile 为你下载好的jar包所存在的路径
-DgroupId 为groupId
-DartifactId 为artifactId
-Dversion 为版本号
-Dpackaging 为导入格式,是jar包就写jar
6、如果cmd运行后表示成功,可以去仓库看一下,如果导入进去了就是成功了。
7、进入idea看jar包还有没有报错(有时需要重启一下idea才会消失)
进阶
项目依赖
如果使用的项目是有依赖关系的,比如manager管理项目和sysUser用户端项目使用公用的common项目提供的service。
那么首先你要在pom文件中引入common的jar包,表示依赖common项目。
在你的程序能成功跑通之后,要编译打包上线。你在package commom项目后,再去package manager项目时原本信心满满的以为要成功。但是会发现package manager竟然会报错,而且你的项目时正常的。这时候你就会比较无语了。
因为你package manager项目时是使用pom的jar包引入依赖的,它肯定回去寻找maven仓库中的commom jar包,而你并没有把common项目打入maven仓库,只是package在idea上显示了jar包。所以它并找不到这个commom项目。但是程序跑起来是会动态编译所有子项目的,就不去寻找maven仓库的jar包了,所以程序可以跑起来,但是单独打包会报错。
那么如何打包manager呢?首先你要将最新的commom项目打入maven仓库。maven也提供了简便的命令,就是install。install比packge更高级,它在打包好项目后还要安装项目,也就是打入maven仓库。所以要现在packge manager之前install它所依赖的common项目。