Maven名词解释

Maven 名词解释
Project :任何您想 build 的事物, Maven 都可以认为它们是工程。这些工程被定义为工程对象模型 (POM Poject  Object Model) 。一个工程可以依赖其它的工程;一个工程也可以由多个子工程构成。
POM POM(pom.xml) Maven 的核心文件,它是指示 Maven 如何工作的元数据文件,类似于 Ant 中的 build.xml 文件。 POM 文件位于每个工程的根目录中。
GroupId groupId 是一个工程的在全局中唯一的标识符,一般地,它就是工程名。 groupId 有利于使用一个完全的包名,将一个工程从其它有类似名称的工程里区别出来
Artifact artifact  是工程将要产生或需要使用的文件,它可以是 jar 文件,源文件,二进制文件, war 文件,甚至是 pom 文件。每个 artifact都由groupId artifactId组合的标识符唯一识别。需要被使用(依赖)artifact都要放在仓库(Repository)中,否则Maven无法找到 (识别) 它们
Dependency :为了能够 build 或运行,一个典型的 Java 工程会依赖其它的包。在 Maven 中,这些被依赖的包就被称为 dependency dependency 一般是其它工程的 artifact
Plug-in Maven 是由插件组织的,它的每一个功能都是由插件提供的。插件提供 goal( 类似于 Ant 中的 target) ,并根据在 POM 中找到的元数据去完成工作。主要的 Maven 插件要是由 Java 写成的,但它也支持用 Beanshell Ant 脚本写成的插件。
Repository 仓库

Group id+Artifact id=Artifat , 需要被使用 ( 依赖 ) artifact 都要放在仓库 ( Repository) 中,组成一个“类”了。
         远程公用仓库
Maven内置了远程公用仓库: http://repo1.maven.org/maven2
这个公共仓库是由Maven自己维护,里面有大量的常用类库,并包含了世界上大部分流行的开源项目构件。目前是以java为主。
内部中心仓库
也称私有共享仓库( 私服)。一般是由公司自己设立的,只为本公司内部共享使用。它既可以作为公司内部构件协作和存档,也可作为公用类库镜像缓存,减少在外部访问和下载的频率。
Nexus和Artifactory均可搭建仓库服务器。但后者支持LDAP认证,这样就可以将私有仓库的认证集成到公司已经有的LDAP认证服务器。
内部中心库又可以连接第三方库,例如Jboss中心库、Spring中心库,以随时获得最新版本的第三方构件。

一个 Java 构件的五大坐标元素:
Ø groupId :组 ID
Ø artifactId :实际项目的 ID
Ø version :版本
Ø package :包类型,如 JAR EAR POM…
Ø classifier :分类,如二进制包,源、文档

通过这种规则就可以定位到世界上任何一个构件
归类依赖

<properties>

  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

  <org.springframework.version>3.0.5.RELEASE</org.springframework.version>

  <org.slf4j.version>1.6.1</org.slf4j.version>

</properties>

在后面的依赖中只需指明version的引用

     <version>${org.slf4j.version}</version>

POM 中使用第三方仓库

<repositories>

  <repository>

  ……

  </repository>

</repositories>

例如:

  <repository>

  <id>org.hibernate</id>

  <url>http://repository.jboss.org/maven2</url>

  </repository>

  <repository>

  <id>maven2-repository.dev.java.net</id>

  <name>Java.net Repository for Maven 2</name>

  <url>https://maven2-repository.dev.java.net/nonav/repository</url>

  <layout>default</layout>

  </repository>

第三方仓库会提供配置信息,详情参考第三方的仓库使用说明
Ø 将项目发行到公司内部仓库。在 pom.xml 中添加:

<distributionManagement>

    <repository>

        <id>releases</id><!—此处ID以上页server中的一致-->

        <name>Internal Releases</name>

        <url>releases仓库地址</url>

    </repository>

    <snapshotRepository>

        <id>Snapshots</id><!—此处ID以上页server中的一致-->

        <name>Internal Snapshots</name>

        <url>snapshots仓库地址</url>

    </snapshotRepository>

</distributionManagement>

命令:

mvn  deploy   将当前项目发行到公司内部仓库。
Ø 内部仓库搭建:
推荐 Nexus 作内部仓库服务器,即搭建私服.
在setting.xml中添加nexus服务器账号。如何在Nexus服务器创建账号请参考官方说明
<servers>
    <server><!—正式发行仓库账号-->
         <id>releases</id>
         <username>用户名</username>
         <password>密码</password>
    </server>
    <server><!—快照版发行仓库账号-->
         <id>Snapshots</id>
     <username>用户名</username>
         <password>密码</password>
    </server>
</servers>






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值