Maven

作者: 苟雨 | 来源:发表于2017-09-09 22:41 被阅读295次
入门

OS X使用brew安装

 brew instal maven

然后建立一个项目,在根目录下建立pom.xml文件;
或者找一个开源项目如 https://github.com/spring-projects/spring-mvc-showcase
可以查看他的pom.xml文件

Maven管理生命周期

Maven有三套独立的生命周期,分别是clean:目的是清理项目,default:构建项目,site:建立项目站点。这些都是通过插件来运行的,maven默认已经导入了必要的插件,如果还需要其他的可以自己导入。
每个周期有不同的阶段,
clean:
pre-clean,
clean 清理上一次构建生成的文件,
post-clean 执行清理后需要完成的工作,
mvn clean 清理命令;
mvn clean compile清理编译命令;
mvn clean test测试命令;

default 周期比较复杂,主要完成编译测试并且安装到maven仓库的功能,
mvn package 把maven项目打包成jar包或者war包;
mvn package -Dmaven.test.skip=true maven打包不执行测试用例的命令;
mvn install 打包之后安装到本地仓库,然后其他项目可以引用;

site 周期用于生成项目站点,用于交流和发布项目信息,
mvn site 生成项目网站目录;

同时运行两个生命周期,
mvn clean package 打包命令;
mvn clean site生成网站命令;
其他,
mvn eclipse:eclipse 生成eclipse项目管理文件;
mvn idea:idea 生成idea项目管理文件;
mvn jetty:run 运行项目于内嵌jetty服务器,也可以使用mvn tomcat:run 用tomcat运行;

怎样查找(定位)maven中央仓库中的库:

可以通过groupId,artifactId,version,packaging,class-sider等来定位唯一的一个库;
groupId:定义当前Maven项目隶属项目
artifactId:定义实际项目中的一个模块
version:定义当前项目的当前版本
packaging:定义该项目的打包方式当不定义packaging的时候,Maven 会使用默认值jar
classifier: 该元素用来帮助定义构建输出的一些附件,比如TestNG的主构建是基于jdk4的,它有提供了一个jdk5的附属构件
也可以访问https://search.maven.org搜索

仓库类型

本地仓库:默认为~/.m2/repository/ ,每个用户只有一个本地仓库

cd ~/.m2/repository/

远程仓库
中央仓库:Maven默认的远程仓库, http://repo1.maven.org/maven2

镜像:用来替代中央仓库,下载速度一般比中央仓库快
maven添加镜像地址:修改~/.m2/settings.xml

vim ~/.m2/settings.xml
# 输入
<mirrors>
    <mirror>
           <id>ibiblio.org</id>    
           <mirrorOf>central</mirrorOf>  #central表示是中央仓库的镜像
           <name>ibiblio Mirror of http://repo1.maven.org/maven2/</name>
           <url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url>
     </mirror>
     <mirror> 
         <id>jboss-public-repository-group</id> 
         <mirrorOf>central</mirrorOf> 
         <name>JBoss Public Repository Group</name> 
         <url>http://repository.jboss.org/nexus/content/groups/public</url> 
     </mirror> 
 <mirror>
  <id>nexus-osc</id>
  <mirrorOf>*</mirrorOf> #表示所有仓库的镜像,任何对远程仓库的请求都会被重定向
  <name>Nexus osc</name>
  <url>http://maven.oschina.net/content/groups/public/</url>
</mirror>
  </mirrors>

相关文章

网友评论

      本文标题:Maven

      本文链接:https://www.haomeiwen.com/subject/asbajxtx.html