《Maven实战》学习笔记(2)--POM简单设置
日期:2011-12-10
点击:191
来源: hanqunfeng
分享至:
基本信息:
4.0.0 :Maven3固定不变
com.netqin.framework :定义项目隶属于哪个组,是一个实际的项目
frame-core :项目模块名称
jar :打包方式,默认jar,可以配置war,pom(聚合项目)
0.0.1-SNAPSHOT:项目版本
netqin foamework core :项目一个比较易读的名称
http://maven.apache.org/frame-core :项目访问地址
聚合项目:
4.0.0
com.netqin.framework
frame-framework
0.0.1-SNAPSHOT
pom
netqin foamework
frame-core
frame-service
子模块:
4.0.0 :无论聚合项目还是子项目,都必须包含该配置
frame-framework
com.netqin.framework
0.0.1-SNAPSHOT
frame-core:其余属性默认与父模块相同
jar
netqin foamework core
frame-core:生成的包的名称
聚合和子模块都可以配置如下内容:
1.属性
UTF-8
2.依赖
spring
spring-core
1.0.2:以上三项为必填项,version在子模块继承时可以不用声明
jar:依赖类型,默认为jar,对应于项目的packaging,一般不用声明
compile:依赖范围,默认compile,编译、测试、运行都有效,比如spring-core
true:可选依赖,既只对当前项目有效,不会传递给子模块
:排除依赖,既排除掉当前依赖下对应依赖包,既项目编译时不会导入该依赖包,可以在下面声明一个高级版本进行替换
com.test.demo
demo-core
com.test.demo
demo-core
1.0.2:换个高级版本
jar
compile
junit
junit
4.10
jar
test:只对测试范围有效,比如Junit。
另外还可配置provided:编译和测试有效,运行无效,比如servlet-api。
runtime:测试和运行时有效。
import:导入其它pom中的,该元素只在中可以使用,如下内容介绍。
dependencies:会被子模块继承,如果不希望子模块继承,可以使用如下配置:
junit
junit
${juint.version}
jar
test
org.springframework
spring-core
${springframework.version}
jar
compile
org.test
test
1.0.0version>
pom:只能是pom
import:将该坐标对应的聚合项目中的合并到当前的中来
:被该元素包裹起来的依赖不会被子模块继承,
如果子模块中要使用,需要在dependencies中声明,但这时可以之生命groupId和artifactId,比如:
3.插件
maven-clean-plugin
2.4.1
default-clean
clean:绑定clean生命周期
clean:绑定clean生命周期的clean目标
上述配置,子模块也会继承,类似,如果不希望子模块继承,可以如下配置:
org.apache.maven.plugins
maven-source-plugin
2.1.2
子模块只要如下配置即可:
org.apache.maven.plugins
maven-source-plugin
插件需要绑定到某个生命周期才可以使用
依赖项目命令:
1.查看当前项目的已解析依赖,类似于eclipse的pom查看器中的Dependency Hierarchy的右侧视图
mvn dependency:list
2.查看当前项目的已解析依赖,类似于eclipse的pom查看器中的Dependency Hierarchy的左侧视图
mvn dependency:tree
3.查看项目使用了但是依赖没有声明,或者是声明了没有使用
mvn dependency:analyze
比如,没有使用到spring-core,但是项目中声明了
[WARNING] Unused declared dependencies found:
[WARNING] org.springframework:spring-core:jar:3.0.6.RELEASE:compile
Tags: