这篇随笔从最基础的控制台  搭建maven讲,后面再升入的讲解IDEA搭建Maven。

一,Maven是什么?作用是什么?

  Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
  Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。简单的来讲Maven就是方便你管理和维护java软件项目的一个工具。
 
二、搭建Maven
  第一步:首先下载Maven的压缩包 
  1、下载地址:www.apache.org
    

 2、进入界面继续向下拉,点击Maven。

     

 3、继续点击下载。

     

  4、点击下载文件。

    

    

 第二步:1.解压Maven压缩包。

    

2.随便找一个盘 新建一个本地仓库,文件夹:MavenRepository

     

3.打开 conf文件夹中 修改里面的 settings.xml 文件

    

4.增加一个节点,路径是刚刚新建的本地仓库文件夹的路径

     

5.修改类库下载的路径

    

第三步:配置 maven 环境变量。

1.打开环境变量的界面(不知道怎么打开可以点击以下链接,这里就不多描述了)

https://jingyan.baidu.com/article/86112f137c432c2736978774.html

    

2.增加一个变量 M2_HOME,路径是maven的路径

     

3.修改 path 增加maven的bin路径

    

4,检查环境是否匹配正确。

    

     

 三、使用命令手动创建java项目

第一步:创建普通项目:

  命令:mvn archetype:generate -DgroupId=com.nf -DartifactId=cc1 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

    mvn:是核心命令。

    archetype:create:创建项目,现在maven高一点的版本都弃用了create命令而使用generate命令了。

   -DgroupId=com.nf :一般使用包名的写法。因为包名是用公司的域名的。

   -DartifactId=cc1:就是项目名称

   DarchetypeArtifactId=maven-archetype-quickstart:表示创建的是[maven]java项目。

  注意:运行是电脑必须连接上网络,因为他在运行是会上网下载一个小插件。

运行:

    

这样就表示创建项目成功了。

再看到文件夹里也有了cc1的项目文件

    

 Maven java项目结构:

项目名:cc1
      ---pom.xml    核心配置,项目根下
       ---src
          ---main      
             ---java    java源码目录
                 ---resources   java配置文件目录
          ---test
             ---java    测试源码目录
              ---resources   测试配置目录

    

项目会出现一个target

    

   在项目里面到时候会出现一个target目录,因为我们将该java项目进行了编译,src/main/java下的源代码就会编译成.class文件放入target目录中,target就是输出目录。

target是用来存放项目构建后的文件和目录、jar包、war包、编译的class文件也就是最后项目做完,把target发个用户使用的。

  注意:1、不要把java文件放到target里面。

     2、如果项目程序要进行修改,不要在target里面对程序进行修改,因为很多时候程序不是你一个人完成的是多个人。如果每个人程序员都在里面修改,项目会出现问题。要在src里面进行修改然后重新发布即可。

四、使用命令手动创建Web项目

  命令:mvn archetype:generate -DgroupId=com.nf -DartifactId=cc2 -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

  和普通java项目都差不多,创建maven web项目的话 -DarchetypeArtifactId=maven-archetype-webapp 比创建java项目多了一个 -Dversion=0.01-snapshot, 在创建java项目的时候也可以加上这个,如果不写,会默认帮我们加上1.0-snapshot。

  创建Web项目:

    

Maven Web项目结构:

 项目名:cc2

 pom.xml                核心配置
         src/main/java                java源码
         src/main/resources            java配置
         src/main/webapp            myeclipse web项目中 WebRoot目录
               |-- WEB-INF
                  |-- web.xml
         src/test                    测试
         target                    输出目录

我们现在将这个ccs的Web项目,发布到Tomcat 将做一下操作:

    第一步:在你刚刚创建的MavenRepository找以下路径:

    D:\MavenRepository\org\apache\maven\archetypes\maven-archetype-webapp\1.0\maven-archetype-webapp-1.0.jar

    

把web.xml(3.0或3.1,4.0等版本)覆盖里面的\archetype-resources\src\main\webapp\WEB-INF下的web.xml(2.3)

 3.0版本:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">

</web-app>

  第二步

   

        

  第三步:给tomcat添加用户信息,找到自己 tomcat

    E:\apache-tomcat-9.0.0.M22\conf

    

添加用户

<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user password="123456" username="admin" roles="manager-gui,manager-script,manager-jmx,manager-status" />

      

  第四步:打开Tomcat

    

打开浏览器127.0.0.1:8080/manager,输入刚刚添加的用户

    

    

     

    

    

  第五步:配置具体项目

    

  

     

基本的配置都完成了,让我们看看能不能把项目发布到Tomcat

  打包:

    

    

   mvn tomcat7:deploy发布到Tomcat里面 在执行命令时同时要打开tomcat

    

     

看到cc2.war包已经自动发布到了tomcat上

  

运行:成功运作在网页上

  

搭建 Maven ---基础入门的更多相关文章

  1. Maven基础入门与核心知识

    Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件. Maven是一个项目管理和综合工具.Maven提供了开 ...

  2. springmvc学习总结(一) -- 从零搭建,基础入门

    1.新建maven项目 参考mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(上)第一部分,修改配置 2.修改pom.xml 文件 <proj ...

  3. 【Maven基础入门】01 Maven的安装与环境变量的配置

    写在前面: Mavne,作为一个优秀的项目构建工具,虽说我们平时在使用的时候或多或少的会使用到它,但了解仅限于它能构建项目,然后其他的就不知道了. 以及仓库.POM父类文件.等等. 工欲善其事,必先利 ...

  4. [转载]maven基础入门

    用 Maven 做项目构建 本文转载自:https://www.ibm.com/developerworks/cn/java/j-lo-maven/ 本文将介绍基于 Apache Maven 3 的项 ...

  5. 【Maven基础入门】02 了解POM文件构建

    温故 上一节我们说过:Maven 是一个基于POM文件的构建工具,当然离不开POM文件 POM文件是一个XML标记语言表示的文件,文件就是:pom.xml 一个POM文件包含了项目的基本信息,用于描述 ...

  6. MyBatis基础入门《一》环境搭建

    MyBatis基础入门<一>环境搭建 参考资料链接:http://www.mybatis.org/mybatis-3/ 使用maven构建项目,STS开发工具,jdk1.8 项目结构: m ...

  7. SpringMVC框架入门配置 IDEA下搭建Maven项目

    初衷:本人初学SpringMVC的时候遇到各种稀奇古怪的问题,网上各种技术论坛上的帖子又参差不齐,难以一步到位达到配置好的效果,这里我将我配置的总结写到这里供大家初学SpringMVC的同僚们共同学习 ...

  8. Maven基础学习(一)—Maven入门

    一.概述      Maven是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管 ...

  9. 【JAVA零基础入门系列】Day1 开发环境搭建

    [JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day ...

随机推荐

  1. Asp.net自定义控件开发任我行(7)-注册自定义事件

    摘要 前面我们已经把嵌入资源讲完了,不知道大家有没有得到收益,本章主要讲自定义事件,也就是给TextBox注册一个点击事件. 引言 不知道道上的朋友有没有注意到TextBox控件没有点击事件,就连网上 ...

  2. Careercup - Microsoft面试题 - 4639756264669184

    2014-05-12 06:42 题目链接 原题: Write your own regular expression parser for following condition: az*b can ...

  3. 【Palindrome Partitioning】cpp

    题目: Given a string s, partition s such that every substring of the partition is a palindrome. Return ...

  4. java环境变量配置(Windows & Linux)

    前言: java 编程中 java 环境变量设置是开发最基础的要求,今天我们一起来学习相关要点和配置. 做些不太恰当但通俗易懂的比喻(个人理解): java 程序就好比汽车. jre(java 运行环 ...

  5. IOS开发学习笔记032-UITableView 的编辑模式

    UITableView 的三种编辑模式 1.删除 2.排序 3.添加 进入编辑模式,需要设置一个参数 - (IBAction)remove:(UIBarButtonItem *)sender { NS ...

  6. application.properties 详解

    mvc spring.mvc.async.request-timeout设定async请求的超时时间,以毫秒为单位,如果没有设置的话,以具体实现的超时时间为准,比如tomcat的servlet3的话是 ...

  7. ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Incompatible namespaceIDs

    用三台centos操作系统的机器搭建了一个hadoop的分布式集群.启动服务后失败,查看datanode的日志,提示错误:ERROR org.apache.hadoop.hdfs.server.dat ...

  8. [URAL1519] Formula 1 [插头dp入门]

    题面: 传送门 思路: 插头dp基础教程 先理解一下题意:实际上就是要你求这个棋盘中的哈密顿回路个数,障碍不能走 看到这个数据范围,还有回路处理,就想到使用插头dp来做了 观察一下发现,这道题因为都是 ...

  9. [LVS] 用keepalived实现LVS NAT模式高可用性

    默认前提是LVS已经可以正常工作了. 因为是NAT模式,RS的路由要指向LVS的接口地址,所以需要一个统一的后台浮动地址,使得RS都指向这个浮动IP.否则在切换时,会导致RS回包到DOWN掉的LVS上 ...

  10. Python之面向对象:封装

    1.封装的概念 将对象的数据与操作数据的方法相结合,通过方法将对象的数据与实现细节保护起来,就称为封装.外界只能通过对象的方法访问对象,因此封装同时也实现了对象的数据隐藏. 在使用面向对象的封装特性时 ...