一 Maven中的坐标
Maven中的g,a,v的概念,在网上很多人写的不清楚,拼凑,我简单的总结下我的认识
g:groupId:组织域名英文倒叙 + 项目名称
a:artifactId :项目的模块名,构成为项目名称—模块名称 如spring-core(磁盘上显示的文件一级文件夹名称)
v:version:版本
下面是maven项目磁盘文件结构
artifactId
src
main
java
com
...
test
java
com
...
target
classes
com
META-INF
test-classes
com
META-INF
二 maven依赖范围
maven依赖主要有以下几种:compile,test,provided,runtime,system,import,即scope域可选取以上一种
在《maven编程实战》这本书中提到了maven在编译主代码的时候用到一套classpath,在编译测试代码的时候用到一套classpath,那么这菊花怎么理解呢?
可以理解为依赖范围为test的只在上面代码片段中的test-classes即测试代码下面的文件中起作用,而不在主代码即classes下面的文件中起作用,最简单的比如junit测试,主代码编译和运行并不需要依赖它就可以完成,它只存活于测试代码的编译和运行阶段。