您的位置:js12345金沙官网登入 > 网络编程 > 项目管理工具——Maven学习笔记(五、Maven中的坐

项目管理工具——Maven学习笔记(五、Maven中的坐

2019-10-02 10:00

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

 <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> 

该元素定义了构建输出的一些附属构件,与主构件对应,不能直接定义项目的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,这样附属构建也有了自己唯一的坐标。

  1. 找到maven路径中的文件夹,有个settings.xml文件,打开找到<mirrors></mirrors>标签,在里边添加

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

<groupId>公司网址反写.项目名</groupId><artifactId>项目名-模块名</artifactId><version>大版本.分支版本.小版本号+版本类型</version><packaging>打包方式</packaging>

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

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

Maven为所有的项目在pom引入了坐标,基于坐标机制可以唯一定位一个项目

<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.0http://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>
  1. groupid: 定义当前Maven项目所属的实际项目。因为很多时候,一个实际的项目很可能有多个模块组成,例如org.springframework项目就有spring-core、spring-beans、spring-context等模块。
  2. artifactId: 定义当前Maven项目在所属实际项目中的具体模块名称。如spring-core为该具体模块的名称。
  3. version: 定义Maven项目当前的版本。
  4. packaging: 打包方式,包括jar、war、pom等。
  5. classifier: 定义构建输出的一些附属构建。例如,我们生成了一个构建a.jar,我们希望在构建的时候也能生成一个与a.jar对应的其源码jar包,为a-sources.jar。则a-sources.jar即为附属构建,sources就是该附属构建的classifier。需要注意的是:不能在项目中直接定义classifier,因为附属构建不是默认生成的,需要附加的插件才能生成。请参考: Maven中maven-source-plugin,maven-javadoc-plugin插件的使用

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

好了,我们更改后的新仓库成功了!

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

图片 1Paste_Image.png

本文由js12345金沙官网登入发布于网络编程,转载请注明出处:项目管理工具——Maven学习笔记(五、Maven中的坐

关键词:

  • 上一篇:没有了
  • 下一篇:没有了