zoukankan      html  css  js  c++  java
  • Maven入门初级教程

    Maven“专家内行”的意思,是Apache下的一个纯Java开发的开源项目,是一个项目管理工具(eclipse是一个项目开发工具),对Java项目进行构建、依赖管理。

    项目构建

    传统的项目构建过程

    构建构成如下:

    1、  在eclipse中创建一个Java web工程

    2、  在工程中编写源代码及配置文件等

    3、  对源码进行编译,Java文件编译成.class文件

    4、  执行Junit单元测试

    5、  将工程打成war包部署至Tomcat运行

    maven的项目构建过程

     

    清理阶段对应的maven命令是clean,清理输出的 class文件

    编译阶段对应的maven命令是compile,将Java代码编译成class文件

    打包阶段对应的maven命令是package,Java工程可以打成jar包,web包可以打成war包

    运行一个maven工程(web工程)的命令是tomat:run

    依赖管理

    依赖管理就是对项目所有依赖的jar包进行规范化管理,maven项目所依赖的jar包不需要手动向工程添加jar包,只需要在pom.xml(maven工程的配置文件)添加jar包的坐标,自动从maven仓库中下载jar包、运行。可避免jar包版本的冲突,方便且不易出错,maven支持跨平台,可在window、linux上使用。

    其实就是对jar 包的管理并给出坐标的过程。

    Maven的下载安装

     

    (或者输入网址http://amven.apache.org/download.cgi)

     

    解压缩(将maven解压到一个不含有中文和空格的目录中)

    配置maven环境变量(须先将JAVA_HOME配置好)

    配置 MAVEN_HOME,变量值就是你的maven安装的路径(bin目录之前一级目录)

     

    将 in 加入环境变量 path

    配好变量之后通过mvn -v命令检查maven是否安装成功,看到maven的版本为3.6.0及jdk版本为1.8.0即为安装成功

    maven仓库

    Maven的工作需要从仓库下载一些jar包,maven的仓库有(本地仓库,私服,中央仓库)

    本地仓库:本地存放jar包的目录。

     

    私服:私人搭建的服务器。一般在企业内部局域网中使用。

     

    中央仓库:maven内置了一个远程仓库的地址,它就是中央仓库

     

    Maven在查找jar的时遵循什么样的顺序呢?

    1)         优先查找本地

    2)         本地找不到,则从私服上查找,找到后下载到本地仓库

    3)         私服上找不到,则从中央仓库查找,找到后下载到私服,最后下载到本地仓库

    中央仓库网址:     http://repo1.maven.org/maven2/

    本地仓库配置:打开maven安装路径下confsettings.xml文件,加入如<localRepository>节点

     

    项目工程的标准目录结构

     

    Maven命令

    1.clean

    clean是maven工程的清理命令,执行 clean会删除target目录及其目录下所有内容

    2.Compile

    compile是maven工程的编译命令,作用是将src/main/java下的java源文件编译为class文件并输出到target下的classes目录下。

    cmd进入命令状态,执行mvn compile

    查看 target目录classes下,class文件已生成,编译完成

    3.test

    test是maven工程的测试命令 mvn test,会执行src/test/java下的单元测试类。

    cmd执行mvn test执行src/test/java下单元测试类

    4.package

    package是maven工程的打包命令, 对于java工程执行package打成jar包,对于web工程打成war包

    工程目录下执行 mvn package

    5.Install

    install是maven工程的安装命令,执行install将maven打成jar包或war包发布到本地仓库

    当后面的命令执行时,前面的操作过程也都会自动执行

    三套生命周期

    Clean Lifecycle: 在进行真正的构建之前进行一些清理工作。

    Default Lifecycle: 构建的核心部分:编译、测试、打包、部署等等。

    Site Lifecycle: 生成项目报告、站点、发布站点。

    Maven对项目构建过程分为三套相互独立的生命周期,每一个阶段都有一个对应的命令,且有相应的插件来支持命令的运行。

    注:属于同一个指令周期内的指令,当后面的命令执行时,前面的命令会自动执行。

    使用eclipse配置maven

    配置maven插件

    Window->Preferences

    Eclipae中配置仓库位置

    构建索引

    Windows->Show view->other

    右击最下面的那个红色框标记的,然后点击Rebuild Index

    成功可看到仓库能展开

    如何使用eclipse开发maven项目

    1.创建maven工程helloworld

     

    生成web项目结构: WEB-INF目录和web.xml,如果eclipse没有Jave EE Tools,可以手式创建

    创建HelloServlet

    在src/java/main创建了一个HelloServlet,但报错

    要解决问题,就是要将servlet-api-xxx.jar包放进来,作为maven工程应当添加servlet的坐标,从而导入它的jar

    直接打开helloworld工程的pom.xml文件,再添加坐标

    保存后查看pom.xml,如下:

    修改HelloServlet的doGet方法,加入:

    添加index.jsp页面

    在web.xml中配置servlet

    Eclipse下使用maven命令

    Clean、compile、test、package、install

    编译命令:compile 编译后.class文件在tar/get 下(这个命令只会对Java源程序编译,不会编译测试代码,编译测试类mvn test-compile,变异后.class文件在target est-calsses)

    测试命令 mvn test   执行所有测试用例方法,重新编译

    清除命令 mvn  clean  清除target目录(清除所有编译结果或者打包结果)清理后编译

    打包命令  mvn package  Java项目生成jar包,web项目生成war包,默认生成jar包名称:artifactId-version.jar

    安装命令  mvn install 将工程打包后发布到本地仓库

    Pom基本配置

    Pom.xml是maven项目的核心配置文件,位于每个工程的根目录,基本配置如下:

    <project>: 文件的根节点

    <modelversion>: pom.xml使用的对象模型版本

    <grounpId>: 项目名称,一般写项目的域名

    <artifactId>: 模块名称,子项目名或模块名称

    <version>: 产品的版本号

    <packaging>: 打包类型,一般有jar、war、pom等

    <name>: 项目的显示名,长哟用于maven生成的文档

    <description>: 项目描述,常用于maven生成的文档

    <dependencies>: 项目依赖构建配置,额皮质项目依赖构件的坐标

    <build>: 项目构建配置,配置编译、运行插件等

    ---恢复内容结束---

    ---恢复内容结束---

  • 相关阅读:
    ACM-ICPC 2018 焦作赛区网络预赛 H题 String and Times(SAM)
    ACM-ICPC 2018 焦作赛区网络预赛 G题 Give Candies
    ACM-ICPC 2018 焦作赛区网络预赛 B题 Mathematical Curse
    2018ACM/ICPC 焦作网络预选赛-A Magic Mirror
    POJ 1966 Cable TV NETWORK(网络流-最小点割集)
    最大权闭合子图
    HihoCoder 1398 网络流
    UVA11324 The Lagest Lique(SCC缩点+DP)
    POJ 2186 Popular cows(SCC 缩点)
    HDU5394 Bomb
  • 原文地址:https://www.cnblogs.com/huyuge/p/9979640.html
Copyright © 2011-2022 走看看