1maven概念作用

1.maven的作用

  a.管理jar包

  i.增加第三方jar包     (spring-context.jar   spring-aop.jar ....)

  ii.jar包之间的依赖关系      (配置spring-context.jar 自动关联下载所有依赖的Jar,并且不会冲突,没有兼容性问题)

  b.将项目拆分成若干个模块  

  例如:三层架构

  maven可以把三层拆分成三个模块

2.Maven概念:

  是一个基于Java平台的 自动化构建工具  

maven构建过程:

清理(clean):删除编译的结果,为重新编译做准备。
编译(compile):java->class
测试(test): 针对于 项目中的关键点进行测试,亦可用 项目中的测试代码 去测试开发代码;
报告:将测试的结果 进行显示
打包(package): 将项目中包含的多个文件 压缩成一个文件, 用于安装或部署。 (java项目-jar、web项目-war)
安装(install):将打成的包 放到 本地仓库,供其他项目使用。
部署:将打成的包 放到 服务器 上准备运行。ps:类似把项目add进tomcat里面这个过程就是部署

本地仓库

 远程仓库:远程仓库包含中央仓库,中央仓库镜像,私服

 私服:

-Eclipse中部署的web项目可以运行
-将Eclipse中的项目,复制到tomcat/webapps中则不能运行
-打包后的项目可以在webappas中直接运行

Eclipse中的项目 ,在部署时 会生成一个 对应的 部署项目(在wtpwebapps中),区别在于: 部署项目 没有源码文件src(java),只有编译后的class文件和jsp文件
因为二者目录结构不一致,因此tomcat中无法直接运行 Eclips中复制过来的项目 (因为 如果要在tomcat中运行一个项目,则该项目 必须严格遵循tomcat的目录结构)

Eclipse中的项目 要在tomcat中运行,就需要部署: a.通过Eclipse中Add and Remove按钮进行部署
b.将Web项目打成一个war包,然后将该war包复制到tomcat/webapps中 即可执行运行

自动化构建工具maven:将 原材料(java、js、css、html、图片)->产品(可发布项目)

编译-打包-部署-测试 --> 自动化构建

     

使用maven
约定 优于 配置
比如有一个job对象以下有三种方式设置路径

硬编码方式:job.setPath("d:\abc") ;
配置方式:
job
conf.xml <path>d:\abc</path>

约定:使用默认值d:\abc
job

maven约定的目录结构:
项目
 -src
  --main :程序功能代码
    --java java代码 (Hello xxx)
    --resources 资源代码、配置代码
  --test :测试代码
    --java
    --resources
 -target :存放编译后的文件
 pom.xml

<groupId>域名翻转.大项目名</groupId>
<groupId>org.chen.maven</groupId>

<artifactId>子模块名</artifactId>
<artifactId>HelloWorld</artifactId>


<version>版本号</version>
<version>0.0.1-SNAPSHOT</version>

maven的约定:执行项目进main,测试项目进test

ps:以上有些资料来自颜群老师,侵权可以联系我删除。

原文地址:https://www.cnblogs.com/unlasting/p/12193964.html