Maven----公司常用以及IDEA集成Maven

来源:互联网 发布:淘宝如何申请退货退款 编辑:程序博客网 时间:2024/05/21 19:49

maven

1.Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
2.Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。
3.此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。

CVS:Concurrent Version System 代码版本控制

Maven的相关文件:
src/main/java
src/main/resource
src/main/filter:管理不同环境的配置文件,maven 通过过滤器来修改部署时的不同配置。部署时的所有资源的配置,如果根据环境不同,有不同的配置,则需要在资源中加上标记。
src/main/webapp

Maven相关下载及设置

maven下的conf/setting需要修改
1.本地仓库的设置

<localRepository>H:\maven\mavenRepository</localRepository>

2.远程仓库(阿里云)

<mirrors>    <!-- mirror     | Specifies a repository mirror site to use instead of a given repository. The repository that     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.     |    <mirror>      <id>mirrorId</id>      <mirrorOf>repositoryId</mirrorOf>      <name>Human Readable Name for this Mirror.</name>      <url>http://my.repository.com/repo/path</url>    </mirror>     --><mirror>      <id>alimaven</id>      <name>aliyun maven</name>  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  <mirrorOf>central</mirrorOf>    </mirror>   </mirrors>

IDEA集成maven

IDEA集成Maven:
在Settings下搜索Maven,Maven home directory下设置本地下载的maven
new project—>maven
这里写图片描述


war:web项目,后续需要丢在tomcat下和jar
groupId
artifactId
groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。
  groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。
  比如我创建一个项目,我一般会将groupId设置为cn.snowin,cn表示域为中国,snowin是我个人姓名缩写,artifactId设置为testProj,表示你这个项目的名称是testProj,依照这个设置,你的包结构最好是cn.zr.testProj打头的,如果有个StudentDao,它的全路径就是cn.snowin.testProj.dao.StudentDao


plugins 插件,比如mybatis生成逆向工程的插件配置


dependencies
dependency
groupId
artifactId
version
这里写图片描述


这里写图片描述


这里写图片描述


这里写图片描述


这里写图片描述


这里写图片描述
这里写图片描述


这里写图片描述


这里写图片描述


这里写图片描述


maven生命周期:

mvn archetype:generate 创建Maven项目

mvn compile 编译源代码

mvn deploy 发布项目

mvn test-compile 编译测试源代码

mvn test 运行应用程序中的单元测试

mvn site 生成项目相关信息的网站

mvn clean 清除项目目录中的生成结果

mvn package 根据项目生成的jar

mvn install 在本地Repository中安装jar

mvn eclipse:eclipse 生成eclipse项目文件

mvnjetty:run 启动jetty服务

mvntomcat:run 启动tomcat服务

mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类
源码打包:

mvn source:jar

mvn source:jar-no-fork

mvn compile与mvn install、mvn deploy的区别
1.mvn compile,编译类文件
2.mvn install,包含mvn compile,mvn package,然后上传到本地仓库
3.mvn deploy,包含mvn install,然后,上传到私服


这里写图片描述


这里写图片描述


这里写图片描述


这里写图片描述