欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-07 19:51:30
...

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
Maven----公司常用以及IDEA集成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----公司常用以及IDEA集成Maven


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


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


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


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


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


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


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


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


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,然后,上传到私服


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


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


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


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