<parent>
<groupId>cn.itcast.maven</groupId>
<artifactId>Parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../Parent/pom.xml</relativePath>
</parent>

主要的目的:

备忘;

主要配置:

1.配置maven基本环境,熟悉maven的基本操作(clean,compile,test,site,install,deploy),

2.maven与IDE的配置

3.maven与tomacat的配置

4.maven与neuxs的配置

5.maven中的继承和聚合

主要步骤和截图

1.配置maven基本环境,熟悉maven的基本操作

 

下载maven的bin包和src包,可以选择直接解压到jdk所在目录,配置MAVEN_HOME并将%MAVEN_HOME%/bin加入到path系统变量中;

测试:doc窗口下 “mvn -v”

操作:在创建好的规定的目录下(HelloWorld->src->main || test->java&resource||test&resource)HelloWorld下分别执行以上命令,

会自动下载所需jar包和插件;完成了自动构建和jar的依赖,可以观察仓库repository文件夹下的变化;

2.maven与IDE(myEclipse)的配置(构建外部的安装包)

maven的安装目录

settings配置文件

3.maven与tomacat的配置

在pom.xml配置文件中添加配置以下代码,这样IDE会自动把构建后的war包放到指定的tomcat服务器中,并启动服务器进行解压;我们可以直接访问;

不用再手动去打开服务器;

<build>
<!-- <finalName>ROOT</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.2.3</version>
<configuration>
<container>
<containerId>tomcat6x</containerId>
<home>E:\apache-tomcat-6.0.43</home>
</container>
<configuration>
<type>existing</type>
<home>E:\apache-tomcat-6.0.43</home>
</configuration> </configuration>
<executions>
<execution>
<id>cargo-run</id>
<phase>install</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins> -->
</build>

4.maven与neuxs的配置(搭建私服)

第一步:下载nexus-webapp-1.9.2.4.war包,然后拷贝到tomcat下的webapps目录中

第二步:启动tomcat

第三步:访问http://localhost:8080/nexus/显示如下:

第四步:点击右上角“log in” ,输入username:admin 和Password:admin123登录

第六步:点击Views/Repositories 中Repositories

Nexus内置仓库说明:

(1)Maven Central:该仓库代理Maven中央仓库,其策略为Release,因此只会下载和缓存中央仓库中的发布版本构件。

(2)Releases:这是一种策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件。

(3)Snapshots:这是一个策略为Snapshot的宿主类型仓库,用来部署组织内部的快照版本构件。

(4)3rd party:这是一个策略为Release的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构件。

(5)Public Repositories:该仓库组将上述所有策略为Release的仓库聚合并通过一致的地址提供服务。

第七步:创建宿主目录和代理仓库

  • Hosted:本地仓库,通常我们会部署自己的构件到这一类型的仓库。

    • 包括3rd party仓库,Releases仓库,Snapshots仓库
  • Proxy:代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。
  • Group:仓库组,用来合并多个hosted/proxy仓库,通常我们配置maven依赖仓库组。

第八步:创建仓库组

点击Public Repositories仓库,在Configurations栏中选取需要合并的仓库,点击箭头加到左边保存即可

第九步:下载Index索引并进行构建搜索(GAV搜索)

第十步:配置所有构件均从私服下载,在~/.m2/setting.xml中配置如下

<settings>
<mirrors>
<mirror>
<!--此处配置所有的构建均从私有仓库中下载 *代表所有,也可以写central -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://192.168.1.100:8000/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<!—所有请求均通过镜像 -->
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<!--make the profile active all the time -->
<activeProfile>nexus</activeProfile>
</activeProfiles>

第十一步:部署构建到Nexus,包含Release和Snapshot, 在项目根目录中pom.xml中配置:

<distributionManagement>
<repository>
<id>releases</id>
<name>Internal Releases</name>
<url>http://localhost:8080/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Internal Snapshots</name>
<url>http://localhost:8080/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>

第十二步:Nexus的访问权限控制,在~/m2/setting.xml中配置如下:

<!-- 设置发布时的用户名 -->

<servers>

<server>

<id>releases</id>

<username>admin</username>

<password>admin123</password>

</server>

<server>

<id>snapshots</id>

<username>admin</username>

<password>admin123</password>

</server>

</servers>

查看我们项目发布后的结果

5.maven中的继承和聚合

类似于J2ee中 我们项目进行分层的概念,maven以面向项目对象的方式来进行对项目进行管理,我们通过建立不同的仓库或者私服来完成项目开发中所需的依赖和资源;

每个人负责不同的模块,各个模块中间是需要进行层级调用的,我们直接通过pom文件进行配置继承和聚合;

继承:

    <dependencies>

        <dependency>
<groupId>cn.itcast.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency> </dependencies>

通过这个标签,我们可以把正在开发的模块中需要的另一个模块加入到本模块中,我们对本模块进行操作的时候,会对依赖模块也进行同样的构建;

聚合:

在字模块中需要添加父模块的标识

    <parent>
<groupId>cn.itcast.maven</groupId>
<artifactId>Parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../Parent/pom.xml</relativePath>
</parent>

在父模块中需要添加字模块的moddle,通过构建paren模块的时候,就会 一块构建所有的子模块;聚合更偏向于一对多,省去了对重复依赖的配置;(所以对重复的依赖或者资源的有效识别会有一个优先机制)

  <modules>
<module>src/Hello</module>
<module>src/HelloFriend</module>
<module>src/MakeFriends</module>
</modules>

项目管理工具_maven的配置的更多相关文章

  1. ③---Java项目管理工具MAVEN安装与配置

    Java项目管理工具MAVEN安装配置以下将为大家介绍Java项目管理工具MAVEN安装及其配置. 一.下载MAVEN安装文件 maven下载地址:https://maven.apache.org/d ...

  2. Eclipse下安装及配置maven项目管理工具

    ①eclipse下maven插件安装. 本地maven安装.环境变量配置完成后,打开eclipse,点击eclipse菜单栏Help->Eclipse Marketplace搜索关键字maven ...

  3. idea集成项目管理工具 --- Maven 并且【配置tomcat】

    介绍: 1.项目管理工具 POM    Porject Object Model 2.可以管理项目中的的jar包依赖 3.maven   jar包中央仓库:http://mvnrepository.c ...

  4. linux下一步一步安装禅道项目管理工具

    linux下一步一步安装禅道项目管理工具 因为禅道官网的安装教程实在是太简陋了,所以记录在此. 1.安装apache服务 archlinux下直接 sudo pacman -S apache ubun ...

  5. 15款提高工作效率的 Web 项目管理工具

    在今天的快节奏的商业世界里,能够通过计划.组织.和管理资源池以及评估开发资源的模式来管理一个项目,是一个很艰巨的任务. 有很多现成的项目管理软件来帮助减轻项目管理的负担,并且他们几乎覆盖了所有类型的业 ...

  6. Linux下安装项目管理工具Redmine

    http://www.redmine.org.cn/download Linux下安装项目管理工具Redmine1.Ruby安装Ruby on Rails网站推荐使用1.8.7版. 点击(此处)折叠或 ...

  7. IT项目管理工具总结(转载)

    以前用过一个cs版的忘记叫啥名了,还用个禅道,感觉一般“5. 测试管理: 项目软件缺陷Bug状态跟踪”在公司内部自己测试或者试用期上线后后期维护阶段用的多,有的公司单独做个系统让用户提问题来修改,也是 ...

  8. Maven java项目管理工具

    Maven java项目管理工具 1.安装maven 下载最新的maven 下载地址 http://maven.apache.org/download.cgi 传到要安装的目录 例如/opt/下 # ...

  9. 大话项目管理工具之Confluence篇

    前言 前面的两篇文章,讲的都是代码层次上的项目管理工具.这篇文章打算介绍一下关于知识管理的工具,当然,它也属于项目管理中的一部分.说到知识管理,你想到了什么呢?织网?找节点?不错,这是个人的知识管理. ...

随机推荐

  1. 转换属性transform

    transform: rotate(45deg);旋转 rotate(值) 值为正,表示元素顺时针旋转 值为负,表示元素逆时针旋转 transform: translate(200px,100px); ...

  2. springboot学习入门简易版九---springboot2.0整合多数据源mybatis mysql8+(22)

    一个项目中配置多个数据源(链接不同库jdbc),无限大,具体多少根据内存大小 项目中多数据源如何划分:分包名(业务)或注解方式.分包名方式类似多个不同的jar,同业务需求放一个包中. 分包方式配置多数 ...

  3. 码云和Git使用说明

    Git下载网站: https://git-scm.com/download/win 码云网站     :https://gitee.com 下载Git,并一路下一步安装. 鼠标空白处右键点击,出现两个 ...

  4. Android笔记(五十四) Android四大组件之一——ContentProvider(一)

    ContentProvider提供数据 在Android中,他的每个应用都是相互独立的,各自运行在自己的Dalvik虚拟机中,但现实使用中常常需要在多个应用之间进行数据交换,例如发短信需要获取联系人中 ...

  5. [ike][ipsec] child sa rekey机制的细节分析

    子标题:ipsec rekey是否会导致丢包 author: classic_tong 前言 什么叫rekey. rekey是指ipsec的通信两端定期更换加密信道秘钥的机制. 为了安全性考虑,随着秘 ...

  6. altium designer的pcb板如何移动到原点?

    可以把所有的都选中,然后将光标移到起点处,将所有的移到原点的地方,但这种做法很多时候都不好:比较好的办法就是将原点设置到起点上来. 具体做法是:edit--origin --set. 这时光标成了十字 ...

  7. C++(四十四) — 数组模板类(vector工具)

    实现 stl 中的 vector 操作. 1.MyVector.h #pragma once #include <iostream> using namespace std; templa ...

  8. java加密算法-SHA1

    public class SHAUtil { /*** * SHA加密 生成40位SHA码 * @param 待加密字符串 * @return 返回40位SHA码 */ public static S ...

  9. 基于Java+Selenium的WebUI自动化测试框架(十三)-----基础页面类BasePage(Excel)

    前面,我们讲了如何使用POI进行Excel的“按需读取”.根据前面我们写的BasePageX,我们可以很轻松的写出来基于这个“按需读取”的BasePage. package webui.xUtils; ...

  10. RCNN,Fast RCNN,Faster RCNN 的前生今世:(4) Fast RCNN 算法详解

    继2014年的RCNN之后,Ross Girshick在15年推出Fast RCNN,构思精巧,流程更为紧凑,大幅提升了目标检测的速度.在Github上提供了源码. 同样使用最大规模的网络,Fast ...