Maven项目管理工具

Svn + eclipse  约等于  maven量级

1       Maven的简介

1.1     什么是maven

是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的

1.2     Maven好处

普通的传统项目

Maven项目

分析:maven项目为什么这么小?没有jar。 需要jar吗?肯定需要。没有存在于maven项目里面,jar存在于哪?

1.3     依赖管理

1.4     项目一键构建

编码  编译  测试(junit)  运行  打包  部署

一个 tomcat:run就能把项目运行起来

Maven能干的事:

编译  测试(junit)  运行  打包  部署

1.5     小结:

Maven的好处:

1.5.1  依赖管理

就是对jar包的统一管理  可以节省空间

1.5.2  一键构建

1.5.3  可以跨平台

1.5.4  应用于大型项目 可以提高开发效率

分析:

用户管理    订单管理   支付管理   。。。。。

Maven的分模块开发

互联网项目 按业务分

传统项目   按层分 entity  dao  service  web

2       Maven的安装配置

2.1     下载安装

从此目录中拷贝文件:

直接解压到一个没有中文没有空格的文件夹里解压后的目录如下:

Maven软件的核心文件:

2.2     Maven环境变量配置

1、  要配置jdk,  maven3.3.9这个版本所需的jdk版本必须要1.7以上

2、  最终要运行的是maven软件中bin目录的mvn命令

所以要配置maven的环境变量

在系统变量添加

环境变量的名称:MAVEN_HOME

变量值:就是maven软甲解压的目录F:\class32\apache-maven-3.3.9

3、把MAVEN_HOME添加到path里

4、验证maven是否配置成功:

打开dos窗口 输入: mvn –v

2.3     Maven仓库

三种仓库

1、本地仓库 自己维护

本地仓库的配置只需要修改settings.xml文件就可以

2、远程仓库(私服) 公司维护

3、中央仓库 maven团队维护     两个亿

三种仓库的关系如下:

3       演示入门程序

3.1     Maven的目录结构

3.2     Maven的常用命令

Clean   清理编译的文件

Compile 编译了主目录的文件

Test  编译并运行了test目录的代码

Package 打包

Install 就是把项目发布到本地仓库

Tomcat:run  一键启动

3.3     Maven的生命周期(了解)

Compile   test  package  install  deploy(发布到私服)

三种生命周期

Clean生命周期

Clean

Default生命周期

Compile   test  package  install  deploy

Site生命周期

Site

3.4     命令和生命周期的阶段的关系

不同的生命周期的命令可以同时执行

Mvn clean package

4       项目构建

M2e插件的安装

Maven在eclipse的配置

1、选择3.3.9版本的maven软件

2、修改默认的本地仓库地址

项目构建

1、  新建maven项目

2、调过骨架,如果不跳过骨架选择创建出的项目目录是不全的

2、  填写坐标

3、创建工程

4、处理红色叉号

手动在webapp文件夹下创建一个WEB-INF文件夹,在里面放一个web.xml文件

5、处理编译版本

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1

在pom.xml中添加如下代码    右键项目 ---》maven---》update project

<build>

                   <!-- 配置了很多插件 -->

                   <plugins>

                            <plugin>

                                     <groupId>org.apache.maven.plugins</groupId>

                                     <artifactId>maven-compiler-plugin</artifactId>

                                     <version>3.5.1</version> 

                                     <configuration>

                                               <source>1.8</source>

                                              <target>1.8</target>

                                               <encoding>UTF-8</encoding>

                                     </configuration>

                            </plugin>

                   </plugins>

         </build>

5、创建一个servlet

修改web.xml

删除重复的代码

xmlns=http://java.sun.com/xml/ns/javaee

添加jar包

在pom中添加如下代码:

<dependencies>

                   <dependency>

                            <groupId>junit</groupId>

                            <artifactId>junit</artifactId>

                            <version>4.9</version>

                            <scope>test</scope>

                   </dependency>

                   <dependency>

                            <groupId>javax.servlet</groupId>

                            <artifactId>servlet-api</artifactId>

                            <version>2.5</version>

                            <scope>provided</scope>

                   </dependency>

                   <dependency>

                            <groupId>javax.servlet</groupId>

                            <artifactId>jsp-api</artifactId>

                            <version>2.0</version>

                            <scope>provided</scope>

                   </dependency>

         </dependencies>

会发现jar包已添加到项目中

启动项目

右击项目---run as –maven build ….

5       依赖管理

Jar包的管理

需求:整合struts2   页面上传一个客户id 跳转页面

5.1     添加依赖:

打开maven仓库的视图:

5.2     重建索引

1、  创建maven项目(同上)

2、  跳过骨架(同上)

3、  填写坐标信息(同上)

4、  添加web.xml文件(同上)

5、  修改编译版本(同上)

6、  添加坐标 选择Dependencies标签 点击add

7、  手动输入要添加的坐标,选择版本

8、  可以看到 pom.xml文件中多出了如下代码

9、  同样的方式添加servlet-api.jar和jsp-api.jar 注意选择scope为provided

10、              写action代码

import com.opensymphony.xwork2.ActionSupport;

public class CutomerAction extends ActionSupport {

         private Long custId;

         public Long getCustId() {

                   return custId;

         }

         public void setCustId(Long custId) {

                   this.custId = custId;

         }

         public String findById(){

                   return SUCCESS;

         }

}

11、              添加struts.xml文件放到resources目录中

内容:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC

    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

         <!-- 配置常量 -->

         <!-- 字符集 -->

         <constant name="struts.i18n.encoding" value="UTF-8"></constant>

         <!-- 开发模式 -->

         <constant name="struts.devMode" value="true"></constant>

         <!-- 通用package -->

         <package name="customer" namespace="/" extends="struts-default">

                   <action name="find" class="cn.itcast.action.CutomerAction"   

                            method="findById">

                            <result name="success">/jsp/info.jsp</result>

                   </action>

         </package>

</struts>

12、              添加jsp页面

15、修改web.xml文件 添加过滤器

<filter>

    <filter-name>struts2</filter-name>

     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

  </filter>

  <filter-mapping>

  <filter-name>struts2</filter-name>

  <url-pattern>/*</url-pattern>

  </filter-mapping>

5.3     依赖范围

5.3.1  Compile  struts2-core

编译(compile)时需要 测试时需要,,运行时需要,打包时需要

5.3.2  Provided  jsp-api.jar   servlet-api.jar

编译(compile)时需要,测试(test)时也需要 ,运行时不需要,打包时不需要

5.3.3  Runtime   数据库驱动包

编译时不需要,测试时需要,,运行时需要,打包时需要

5.3.4  Test  junit.jar

编译时不需要,测试时需要,运行时不需要,打包也不需要

添加插件

Maven  add  plugin

如果用tomcat7运行用命令:

Tomcat7:run

常见问题:No compiler is provided in this environment. Perhaps you are running on a JRE

解决

java的maven项目(一)的更多相关文章

  1. JAVA基础-----Maven项目的搭建

    Maven项目的搭建 一.前言 maven官网:http://maven.apache.org/, 文章简介:本文章从三个模块来了解Maven,分别是 Maven的基本概念~, Maven项目的安装和 ...

  2. JDK7+EclipseIDE+Tomcat7.0.55++mybatis3+Maven3.2.2 构建webapp 的java 的maven项目

    构建Maven项目 工具 JDK7+EclipseIDE+Tomcat7.0.55++mybatis3+Maven3.2.2 JDK 下载地址 http://www.oracle.com/techne ...

  3. 【转】IntelliJ IDEA 创建 hello world Java web Maven项目

    学Java的大部分吧都是要整Java web开发项目的,那么最好用的编辑器估计就是这个 IntelliJ IDEA,然后现在maven管理项目是很流行的.然后我就示范一下,如何使用这个IntelliJ ...

  4. IntelliJ IDEA 创建 hello world Java web Maven项目从头到尾都有图有真相2017版本

    学Java的大部分吧都是要整Java web开发项目的,那么最好用的编辑器估计就是这个 IntelliJ IDEA,然后现在maven管理项目是很流行的.然后我就示范一下,如何使用这个IntelliJ ...

  5. Java 将Maven项目打成可执行jar包

    一.用maven-shade-plugin打包 在pom.xml文件中加入如下信息,利用Maven的maven-shade-plugin插件进行打包. <build> <plugin ...

  6. 使用IDEA2017创建java web +maven项目

    1.首先,提前准备的东西:我使用的是IDEA2017,tomcat7,jdk1.:请将这些软件安装完成,环境变量配置完成,如何配置以及安装我就不复述了,百度上一堆一堆的,比我知道的详细多了. 2.下面 ...

  7. 小白教程 Java web maven项目Windows下部署阿里云服务器全过程(买服务器,打包项目,连接服务器,配置服务器,部署项目)

    -------------首先:购买服务器---------------- Step1: 在https://www.aliyun.com/?utm_content=se_1043015注册登录阿里云 ...

  8. java application maven项目打自定义zip包

    1.配置pom.xml文件,添加build节点 <build> <!-- 输出的包名 --> <finalName>p2p</finalName> &l ...

  9. 关于scala和java 在maven项目中混编的问题

    1.需要添加scala 相关maven配置: <properties> <scala.version>2.10.1</scala.version> <slf4 ...

随机推荐

  1. 关于Oracle

    Oracle初学者必知的100个问题 1. Oracle安装完成后的初始口令?  internal/oracle  sys/change_on_install  system/manager  sco ...

  2. sc"

    2.11 题目:二叉搜索树中的最近公共祖先 2.12 设计思路 if 树中不存在 u 或 v 错误 结束程序 定义 p 指向根节点 while true do: if p->key大于 u 和 ...

  3. POI 导入 一直报400问题

    排查过程:1.400一般都是参数或者请求不对,但是我这个情况是本地好用,只是服务器有问题,所以排除了传值的格式等问题. 2.服务器和本地网络隔离,所以没办法比较代码,分两次全量覆盖了html和js部分 ...

  4. CSS position属性---absolute与relative

    详情请点击此链接 http://www.cnblogs.com/polk6/archive/2013/07/26/3214847.html

  5. express框架 中间件

  6. Hibernate配置文件说明

    <property name="hbm2ddl.auto">create</property> create - 启动Hibernate前先删除表,重新创建 ...

  7. 【bzoj1176】[Balkan2007]Mokia/【bzoj2683】简单题 CDQ分治+树状数组

    bzoj1176 题目描述 维护一个W*W的矩阵,初始值均为S(题目描述有误,这里的S没有任何作用!).每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数M<=160000,询问数 ...

  8. [BZOJ5417] [NOI2018]你的名字

    Description 小A 被选为了ION2018 的出题人,他精心准备了一道质量十分高的题目,且已经把除了题目命名以外的工作都做好了. 由于ION 已经举办了很多届,所以在题目命名上也是有规定的, ...

  9. [洛谷P3521][POI2011]ROT-Tree Rotations

    题目大意:给一棵$n(n\leqslant2\times10^5)$个叶子的二叉树,可以交换每个点的左右子树,要求前序遍历叶子的逆序对最少.输出最少的逆序对个数 题解:线段树合并,对于每个节点求出交换 ...

  10. AtCoder Grand Contest 028 B - Removing Blocks 解题报告

    B - Removing Blocks Time limit : 2sec / Memory limit : 1024MB Score : 600 points ## Problem Statemen ...