这篇随笔从最基础的控制台  搭建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. 1 - smart(Maven:Package,Install,&,Log4j2)

    mvn package 时,增加如下命令-Dmaven.test.skip=true 则表示package打包时,不执行也不编译测试用例,mvn package -Dmaven.test.skip=t ...

  2. jxl教程图文详解

    近来学习了下jxl的操作Excel报表功能,现有的API基本可以满足当前的需要,抽空做了一个学生成绩查询报表的例子. 先看效果图: 从图中可以看到这是一个交叉报表,横向到Q列,纵向有22行,全部是通过 ...

  3. Python基础-week03 集合 , 文件操作 和 函数详解

    一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...

  4. python 中单例模式

    1.什么是单例模式: 单例模式是指一个类有且只有一个实例对象,创建一个实例对象后,再创建实例是返回上一次的对象引用.(简单的讲就是两个实例对象的ID相同,节省了内存空间) 2.单例模式的创建: 举例创 ...

  5. js后台提交成功后 关闭当前页 并刷新父窗体(转)

    原文地址:http://www.cnblogs.com/chenghu/p/3696433.html 后台提交成功后 关闭当前页 并刷新父窗体 this.ClientScript.RegisterSt ...

  6. DNS 劫持、HTTP 劫持与 DNS 污染

    本文为本人的学习笔记,不保证正确. DNS 劫持 指DNS服务器被控制,查询DNS时,服务器直接返回给你它想让你看的信息.这种问题常为 ISP 所为. 由于一般的的电脑的 DNS 服务器 的配置都为自 ...

  7. [python][django学习篇][15]博客侧栏--自定义模板标签

    我们的博客侧边栏有四项内容:最新文章.归档.分类和标签云. 这些内容相对比较固定,且在各个页面都会显示,如果像文章列表或者文章详情一样,从视图函数中获取然后传递给模板,则每个页面对应的视图函数里都要写 ...

  8. js深度复制

    项目过程遇到需要对一个对象处理,然后独立出来用,结果怎么处理都会影响到原有变量,原来是引用导致,只有深度复制才行. 最终用下面的赋值方法才搞成功 var result=$.extend( true, ...

  9. [POJ1160] Post Office [四边形不等式dp]

    题面: 传送门 思路: dp方程实际上很好想 设$dp\left[i\right]\left[j\right]$表示前$j$个镇子设立$i$个邮局的最小花费 然后状态转移: $dp\left[i\ri ...

  10. POJ3648 Wedding 【2-sat】

    题目 Up to thirty couples will attend a wedding feast, at which they will be seated on either side of ...