欢迎光临
我们一直在努力

maven笔记

  jar间接依赖:  被依赖的jar的范围要设置成compile,因发布会包含test范围依赖的jar包。

  建立项目之间的联系:先在pom中设定依赖关系,然后可以引用了

   .conf:

 C:\apache-maven-3.2.1\conf\settins.xml

  maven 配置文件 :

    配置的是本地仓库地址 以及服务器的验证

流程:1.将apace-maven-xxx设置到path环境变量

 2.设定C:\apache-maven-3.2.1\conf\settins.xml的<localRepository>中本地仓库,如设定为E:\mvn_repo

 3.在myeclipse中启用maven4Myeclipse,并在Installatons中添加上面的apache-maven-3.2.1。

    -------------------------------------------------------------------------------------------------------------------------

    maven 项目管理与构建工具   activiti   

一、maven介绍

  1.使用需求

     - 企业岗位需求

     - 软件开发中遇到的问题

       1. jar包的依赖与管理  

         项目中有很多jar包: 

  问题:不能确定jar包的完全正确性、不同技术框架版本的管理、jar包的依赖

       2. 自动构建项目

          - 软件开发: 可行性分析、需求分析、软件设计、软件开发、发布、运维

 - 软件构建: 软件已经开发完毕,需要构建成一个产品进行发布

   构建步骤:

   清除--> 编译-->测试-->报告-->打包(jar\war)-->安装-->部署到远程

 maven可以通过一个命令实现自动构建软件项目

  2.引入maven

     1. maven介绍  

       - 它是apache旗下的一款开源工具  

       - pom(项目对象模型)

       - 软件构建的生命周期

         清除--> 编译-->测试-->报告-->打包(jar\war)-->安装-->部署到远程

       - 介绍:  Maven是一个采用纯Java编写的开源项目管理工具,

      Maven采用了一种被称之为Project Object Model (POM)概念来管理项目,

      所有的项目配置信息都被定义在一个叫做POM.xml的文件中, 

      通过该文件Maven可以管理项目的整个生命周期,

      包括清除、编译,测试,报告、打包、部署等等。

       

     2. maven 解决的问题

        - jar包的声明式依赖管理与管理

- 自动构建、发布项目

 软件构建的生命周期:

    清除--> 编译-->测试-->报告-->打包(jar\war)-->安装-->部署到远程

  maven可以通过一个命令实现自动构建软件项目

     3. maven、ant、svn的区别

       - maven与ant之间的区别

          都是软件构建工具、软件管理工具,maven比ant更加强大,已经取代了ant

  maven优点:

   - jar包声明式依赖

   - jar包仓库

       - maven 与svn的区别

         1.maven 软件构建工具,是软件源码已经完毕,需要构建,需要部署与发布

2. svn 是版本控制工具,是协同开发工具

    svn 仓库 :

      1. 项目源码保存

      2. 历史版本的备份

      3. 每一次版本的修改情况

 需求: maven+svn

        

二、体验Maven

  1. 下载及安装Maven

     - 在apache 官网去下载maven 

        www.apache.org 下载

     - maven 软件目录介绍   

        1.lib :共享库。maven软件依赖的lib jar包

2.boot :plexus-classworlds-2.5.1.jar 

  该文件是jar包下载的引擎 ,通过该工具来下载jar包

   - 第三方项目依赖的jar包

   - maven本身的软件构建的生命周期插件的jar包,默认是没有集成这些插件

     清除插件 --编译插件 -- 打包插件

3.conf:

 C:\apache-maven-3.2.1\conf\settins.xml

  maven 配置文件 :

    配置的是本地仓库地址 以及服务器的验证

4.bin 

  maven 可执行的命令

  mvn  命令

     

     - 测试maven是否安装成功

       命令行:mvn -version

         配置:环境变量path="C:\apache-maven-3.2.1\bin"

       java_home 

       

  2.创建满足Maven规约的项目

    - 约定优于配置  

      1. 生活中的约定 :红绿灯 、车方向盘

      2. 开发中的约定 : javabean :setXXX、getXXX

    - 按maven规约的目录结构,创建java项目

      Hello项目

        - src

 ---main

    ---java

      ---包和类

        包: cn.it

类:Demo

    ---resources

       leaveBill.zip

 ---test

    ---java

    ---resources

- target  : 该文件夹可有可无,是编译src后的输出文件的目录,没有则自动创建

- pom.xml : (project ojbect  model):项目对象模型 ,它是maven核心配置文件

       

    - 生命周期命令插件构建项目

     1. 配置本地仓库的路径

     2.通过maven生命周期命令插件来构建项目  

        maven 默认是没有生命周期命令插件

 进入到项目目录:

生命周期命令:

 - mvn clean :清除

 - mvn compile :编译

 - mvn  package :打包

 - mvn clean  install : 安装到本地仓库

 -mvn deploy :部署 ,部署到私服 (局域网或者是外网)

  3.思考:

    - 从什么地方下载maven命令插件或者第三方依赖jar包,并且存放在哪里

      1. 从哪里下载

        C:\apache-maven-3.2.1\lib\maven-model-builder-3.2.1.jar

  pom.xml文件配置

 

 <!--第三方jar包下载的地址-->

 <repositories>

    <repository>

      <id>central</id>

      <name>Central Repository</name>

      <url>http://repo.maven.apache.org/maven2</url>

      <layout>default</layout>

      <snapshots>

        <enabled>false</enabled>

      </snapshots>

    </repository>

  </repositories>

 <!--maven的生命周期插件的下载地址-->

  <pluginRepositories>

    <pluginRepository>

      <id>central</id>

      <name>Central Repository</name>

      <url>http://repo.maven.apache.org/maven2</url>

      <layout>default</layout>

      <snapshots>

        <enabled>false</enabled>

      </snapshots>

      <releases>

        <updatePolicy>never</updatePolicy>

      </releases>

    </pluginRepository>

  </pluginRepositories>

   2. jar包存放在哪里:

     C:\apache-maven-3.2.1\conf\settins.xml 配置输出的地址 仓库

      | Default: ${user.home}/.m2/repository

  <localRepository>/path/to/local/repo</localRepository>

  -->

  <!--配置本地maven仓库的路径  默认 是${user.home}/.m2/repository -->

  <localRepository>C:/mvn_repo/repository</localRepository>

三、maven管理jar包依赖

  1. maven术语

     - maven软件构建的生命周期

         清除--> 编译-->测试-->报告-->打包(jar\war)-->安装-->部署

     - maven生命周期命令插件

        命令:mvn clean

clean--compile--test--package--install-deploy

     - maven坐标

        maven通过坐标的概念来唯一标识jar包或者war包 

1. 坐标的组成: groupId + artifactId+ version

 - groupId:组id ,机构名,公司名:好比公司的id,或者是公司包名 

   alibaba ——-》高德--》5.01版本

 - artifactId:构建物id ,产品名或者产品的id

 - version :版本号 

2. jar包组成:

  artifactId-version.jar

   

      

     - maven仓库

       1. 本地仓库  localRepository

          通过settings.xml 设置

       2. 公司私服仓库 :存放局域网的服务器中

          nexus 软件来发布maven私服

       3. 中心仓库 ,面向全球的  

          地址 :http://search.maven.org/ 或者 http://repo.maven.apache.org/maven2

      

  2. pom.xml介绍 :project object model 项目对象模型 ,它是maven核心配置文件

    

    

  3. jar包依赖管理

     

四、练习 Maven

   1. 把maven 环境搭建好,设置环境变量

   2. 测试maven是否ok 

       mvn -version

   3. 创建一个安照Maven约定的java项目Hello

   4. 通过mvn测试Hello项目,并且把Hello项目安装到本地仓库去

     配置C:\apache-maven-3.2.1\conf\settings.xml 

     <!-- localRepository

   | The path to the local repository maven will use to store artifacts.

   |

   | Default: ${user.home}/.m2/repository

    -->

<!--设置个人仓库的地址-->

    <localRepository>C:/mvn_repo/repository</localRepository>

    5. 拷贝提供的下载插件和jar包的仓库内容repository.rar到本地仓库

    6. 用maven的生命周期命令插件 测试 项目

       1. test   clean   compile   package  install

    7. 创建HelloFriend项目,并且要依赖Junit和Hello jar包

    8. 测试HelloFriend项目,并且把项目发布到本地仓库中

       - 当Hello项目在本地仓库删除时,再编译HelloFriend项目是否有异常

      

五、MyEclipse 与 Maven整合

   1.配置MyEclipse

     - 配置Maven插件

       1. myeclispe已经集成了maven插件 

       2. 设置myeclipse的maven插件的版本

          - myeclise的 maven集成设置 

          - installations  :设置maven版本 ,自定义设置

    指定自己下载的maven版本 c:\apache-maven-3.2.1

          - user settings :用来配置当前用户的设置信息

    比如 :本地仓库地址

 

   2. 创建满足maven规约的java项目

      - archetype :骨架、框架 、模型

        1. maven-archetype-quickstart : 快速构建项目的骨架  ,简单的满足maven规范的java项目

    

   3. 创建满足maven规约的web项目

      骨架:maven-archetype-webapp

 

六、搭建Maven的私有服务器

 网线 :外网 :ip地址 (动态的  )

 

   1.nexus介绍  .是开源的框架,属于sonatype 机构的开源框架,用该框架架设maven 私有服务器

     

     

     

     

   2.nexus私服环境搭建

      - 从 www.sonatype.org/nexus/  下载

      - 把nexus.war 包放到tomcat的webapp下面

      - 浏览且登录

        用户名(admin)和密码 (admin123)  

    

   3.nexus 仓库的分类   

      - hosted :宿主仓库 ,该仓库属于该公司私有的

        1. 3rd part : 第三方的jar包,但是该jar包没有在中心仓库保存,驱动.jar

2. snapshot :测试版本、镜像版本  easyNet.war

3. release  : 发行版本

      - proxy  : 代理仓库  :代理中心仓库的jar包

        

      - public :仓库组 :虚拟的概念

        可以包含其他的仓库

        

     

     

   4.通过私服上传下载jar包

     - 上传jar包

       - 直接上传jar包

         通过网站直接上传

       - 把myEclispe项目上传到私服

        

     - 从私服中依赖jar包(下载jar包)

       

       

  重点:

    1. maven 特点

       - jar依赖

       - 自动构建项目

    2. maven目录结构

    3. maven专业术语

       - 坐标

       - pom.xml

    4. 在myeclispe中创建maven java项目   maven web项目

    5. 私服

      -nexus

      - 从私服中下载jar包 、 上传jar包

   <!-- 加载的是 第三方项目使用的jar包 -->

   <repositories>

    <repository>

      <snapshots>

        <enabled>true</enabled>

      </snapshots>

      <id>public</id>

      <name>public</name>

      <url>http://127.0.0.1:8080/nexus-2.6.2/content/groups/public/</url>

    </repository>

  </repositories>

   <!-- 加载的是maven生命周期插件的jar包 -->

  <pluginRepositories>

    <pluginRepository>

      <releases>

        <updatePolicy>never</updatePolicy>

      </releases>

      <snapshots>

        <enabled>true</enabled>

      </snapshots>

      <id>public</id>

      <name>public</name>

      <url>http://127.0.0.1:8080/nexus-2.6.2/content/groups/public/</url>

    </pluginRepository>

  </pluginRepositories>

  <!-- 分销管理 ,把jar包发布到私服中 -->

  <!--配置服务器

<server>

      <id>releases</id>

      <username>admin</username>

      <password>admin123</password>

    </server>

<server>

      <id>snapshots</id>

      <username>admin</username>

      <password>admin123</password>

    </server>

    

    -->

  <distributionManagement>

  <!-- 发布到 快照版本的仓库,即 测试版本仓库 -->

  <snapshotRepository>

  <id>snapshots</id>

  <url>http://127.0.0.1:8080/nexus-2.6.2/content/repositories/snapshots/</url>

  </snapshotRepository>

  <!-- 发布到 发行版本的仓库中,也可以发布到3rd party 仓库 -->

  <repository>

    <id>releases</id>

  <url>http://127.0.0.1:8080/nexus-2.6.2/content/repositories/releases/</url>

  </repository>

  

  </distributionManagement>

       

       

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《maven笔记》
文章链接:https://www.456zj.com/38095.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址