可用仓库网址:
http://search.maven.org/#browse
http://repository.sonatype.org/index.html#welcome
其他可参考:http://juvenshun.iteye.com/blog/269094
添加示例
(以网址一为例,添加hibernate包)
1、搜索
2、点击all链接可以看到所有的历史版本,我选择稳定的3.5版本
找到maven项目所在路径,(如上一节所说的helloworld项目D:\MavenProject\helloworld),找到pom.xml文件
注意:hibernate需要添加部分
命令行进入项目所在目录
运行mvn install
运行结果
问题解决:
pom.xml文件中不添加 <type>pom</type>就会报错,如下
原因:
type默认是jar,当引入的只是一个jar时就不用加了,如果是引入的一个项目包含多个jar的时候,就要加上type标签值为pom
POM文件说明
示例 :
[html] view plain copy
- <?xml version="1.0" encoding="UTF_8"?>
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>zhengdong</groupId>
- <artifactId>csm</artifactId>
- <version>1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
- </project>
解释:
第一行是xml头,指定xml文档的版本和编码方式
project元素是所有pom的根元素,声明了一些pom相关的命名空间及xsd元素,这些属性能让第三方工具帮助快速编辑pom
modelVersion指定了当前pom的模型版本,对于mvn2和mvn3只能是4.0.0
groupId定义了项目所属组织,一般命名规则为:com.公司/组织名.项目名
artifactId定义项目在组织中的唯一ID或项目名
version是当前项目的版本
name元素声明了对于用户更友好的项目名称,不是必须,但建议声明,便于交流
packaging定义项目打包方式,默认是jar
Maven坐标为各种构件引入了秩序,任何一个构件都必须明确定义自己的坐标
[html] view plain copy
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>test</scope>
- </dependency>
上面是一个构件的坐标,
其中scope定义依赖范围,test表示该依赖只会被加入到测试代码的classpath中。对于项目主代码,该依赖是没有任何作用的。
参考学习网址:
http://juvenshun.iteye.com/blog/359256
http://juvenshun.iteye.com/blog/269094