四、修改Maven仓库位置
在maven中的安装目录中,找到settings.xml文件。可以进行设置,将jar放到本地指定的位置。例如:
<localRepository>E://myMaven/respository</localRepository>
五、Maven项目的目录结构(在eclipse创建maven项目的时候可以看见)
maven-ch01项目名
----src/main/java 存放源代码
----src/test/java 存放测试文件
----src/main/resources 存放一些配置文件
----pom.xml 配置了依赖的jar包
六、eclipse配置Maven
window--> Preferences--> Maven打开Maven进行以下配置
Installations选择自己电脑本地上下载好的Maven目录
User settings选择maven安装目录下面的conf/settings.xml文件,然后点击Update Settings。
然后Local Repository就会显示自己配置的Maven本地仓库。这样就把自己配置maven配置添加到eclipse中。
注意:在eclipse中使用maven时,如果有默认的Maven最好不用使用,自己配置本地的Maven并配置自己的本地仓 库,这样就可以将仓库配置在本地。
七、Maven依赖传递关系
<scope></scope>
包的依赖范围
1.test范围指的是测试范围有效,在编译和打包时都不会使用这个依赖。
2.compile范围指的是编译范围有效,在编译和打包的时候都会把这个依赖存储进去。
3.provided依赖:在编译和测试的过程中有效,最后生成war包时不会加入,诸如:servlet-api,因为servlet-api在tomcat等web服务器中已经存在了,如果再打包会冲突。
4.runtime在运行的时候依赖,在编译的时候不依赖。比如:mysql.jar等数据库包
默认的范围是compile
项目之间的依赖传递(jar包传递)
如果jar包设置为test依赖,则不会传递到引用项目中。
而compile可以进行依赖传递。
注意:假设C项目引用了A和B项目,而A项目引用了log1.0,B项目引用了log1.1。此时C项目与log包是间接依赖。所以根据引用项目的顺序来引用相应的log包。如果先引用A项目,则C项目使用log1.0。反之引用另一个。
如果存在相同jar包引用时,可以使用exclusions排除某个依赖。