zoukankan      html  css  js  c++  java
  • Maven2-坐标

    什么是Maven坐标?

    在生活中,每个城市,地点,都有自己独一无二的坐标,这样快递小哥才能将快递送到我们手上。
    类似于现实生活,Maven的世界也有很多城市,那就是数量巨大的构件,也就是我们平时用的jar,war等文件。如果这些构件没有具体的省份,门牌号,那就只能挨家挨户的搜查了,于是Maven定义这样一组规则。世界上任何一个构件都可以使用Maven坐标唯一标识,Maven坐标元素包括:groupId,artifactID,version,packaging,classifier,当我们提供了这些信息后,Maven就会从中亚仓库中寻找相应的构建供我们使用。
    我们开发自己的项目时,也要为其定义适当的坐标,以便其他Maven项目引用该项目生成的构建。

    坐标元素详解

    groupId

    当前Maven项目隶属的实际项目,比如groupId为 org.sonatype.nexus,那么org.sonatype就表示一个组织,nexus表示这个组织下的实际项目

    artifactId

    该元素定义了实际项目中的一个maven项目,推荐做法将使用的实际项目名称作为artifactId的前缀,因为在默认情况下,Maven生成的构件,会以artifactId作为开头,这样可以方便需找实际构件。

    version

    该元素定义了Maven当前所处的版本

    packaging(可选)

    该元素定义了Maven项目打包的方式,打包方式会影响到构建的生命周期,默认为jar

    classifier

    该元素定义了构建输出的一些附属构件,与主构件对应,不能直接定义项目的classifier,因为附属构建不是项目直接生成的,而是由附加的插件帮助生成的。
    比如,如果主构件为nexus-indexer-2.0.0.jar,那么可能会通过插件生成如nexus-indexer-2.0.0-javadoc.jar,nexus-indexer-2.0.0-sources.jar等,其中包含了java文档和源代码,这个时候javadoc和sources就是两个附属构建的classifier,这样附属构建也有了自己唯一的坐标。

    坐标代码实例

    现有一份pom.xml文档部分内容,我们可以看一下文档是如何利用Maven坐标的

    <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/maven-v4_0_0.xsd">
    
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.xikunqu.account</groupId>
    <artifactId>account-email</artifactId>
    <name>Account Email</name>
    <version>1.0.0-SNAPSHOT</version>
    
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>2.5.6</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    </project>
    
    • 可以看到pom.xml文档中定义了该项目的groupId,artifactId,name和version,当构建后,就会生成该项目的jar包,此时,如其他项目要使用此项目,就可以通过坐标找到此jar包。
    • 还可以看到文档中还利用坐标声明了依赖和插件。
  • 相关阅读:
    Android 简单案例:可移动的View
    Android 简单案例:onSaveInstanceState 和 onRestoreInstanceState
    Android 简单案例:继承BaseAdapter实现Adapter
    Android ImageResizer:inSampleSize
    Android 动画fillAfter和fillBefore
    Android Runtime.getRuntime().exec
    Android Fingerprint系列之google原生界面
    GIF录制工具
    Android Graphviz 安装
    Google Java编程风格指南
  • 原文地址:https://www.cnblogs.com/quxikun/p/8417854.html
Copyright © 2011-2022 走看看