IDEA中maven的相关配置及命令解释

小鱼儿 2023-10-11 12:43 128阅读 0赞

IDEA中maven的相关配置

  • IDEA中maven的相关配置

    • maven的安装和集成
    • pom.xml中一些标签的解释
    • maven的一些命令和应用

        • 一些基本且常用的命令
        • 一些扩展命令
    • 其他
    • 备注

IDEA中maven的相关配置

本文主要介绍一些IDEA中集成maven的配置和操作步骤

maven的安装和集成

  1. 下载maven ,Apache官网上很容易下载(可选 IDEA中自带了maven);
  2. 配置 maven配置

    • Maven home directory: 可以选择你自己的maven版本
    • User settings file: 点击右边的Override可以改变maven配置文件的位置 上面的.m2是默认位置
    • Local repository: 也可以点选右边Override来改变本地仓库位置 但更推荐在User settings file中配置的配置文件里改变localRepository标签的内容
      例如
    1. <localRepository>D:/WorkSoftware/Maven/repository</localRepository>
  3. 镜像配置
    由于一些已知的原因 maven从国外服务器上download依赖的速度很慢 所以推荐在配置文件的mirrors标签中配置镜像来加快下载速度 推荐的镜像是阿里云的maven镜像




    alimaven
    aliyun maven
    http://maven.aliyun.com/nexus/content/groups/public/
    central

pom.xml中一些标签的解释

pom.xml是maven的标志性文件 maven的所有命令也都是基于pom的 其中一些比较重要的标签很有必要说明一下:

  • project标签的直系标签: 形如

    com.example
    demo
    0.0.1-SNAPSHOT
    demo

    Demo project for Spring Boot

这是表示该pom自身信息的说明性标签 它使打包后的本maven工程可以像其他依赖一样被引用

  • parent: 指明pom的父pom 就像java中的继承一样 子pom会继承父pom的一些配置和属性 越是基础的pom其配置通用性也就越强
  • properties: 可以配置比如版本之类的标签 类似于java中的全局变量 在作用范围内可以用$符号引用
  • dependencies: 作为标签dependency的容器 为pom的依赖引用 典型的依赖引用如下:



    com.oracle

    ojdbc6

    11.2.0.1.0
  • dependencyManagement: 我们可以发现这里面可能也定义了一些依赖 但这些依赖只是声明 在本pom中并没有起到引用到服务的作用 它们的作用是为它的子pom提供版本号等信息以统一管理 通常出现在多个服务引用相同服务的情况 这里的子pom在dependencies标签中的无版本号引用才是真正的引用 统一版本等信息可以避免出现一些不必要的版本冲突问题 所以如果我们在pom中的依赖集里发现了一些没有标识版本号的依赖 不要怀疑 它一定是有父pom的

  • build: 定义maven的插件集 可以扩展mvn命令 或者环境配置过滤器 构建需要的资源等
  • profiles: 可以用来定义不同的开发环境 在mvn -P命令中配合build标签里的过滤器和资源可以指定开发环境以适应不同的构建场合

maven的一些命令和应用

一些基本且常用的命令

mvn –version
显示版本信息
mvn clean
清理项目生产的临时文件,一般是模块下的target目录
mvn compile
编译源代码,一般编译模块下的src/main/java目录 在target下生成.class文件
mvn validate
验证工程是否正确,所有需要的资源是否可用。
mvn install
将打包的jar/war文件复制到你的settings.xml文件中配置的本地仓库中(包括jar和pom),供其他模块使用
mvn package
项目打包工具,会在模块下的target目录生成.class文件还有jar或war等文件 (一开始创建maven项目的时候可以指定默认打包格式 也可以在pom中用packaging:jar或packaging:war来标注) 如果某个maven项目依赖另一个自己写的maven项目 比如B引用A 那么必须先将Ainstall进本地仓库里 然后再对B进行打包才不会报错
mvn test
测试命令,或执行src/test/java/下junit的测试用例.

mvn deploy
将打包的文件发布到远程参考,提供其他人员进行下载依赖

一些扩展命令

这些命令通常要在bulid中安装命令对应的插件 命令格式如下:
mvn [plugin-name]:[goal-name]
该命令的意思是:执行plugin-name插件的goal-name指令
例如:
mvn eclipse:eclipse
将项目转化为Eclipse项目
mvn dependency:tree
打印出项目的整个依赖树
mvn archetype:generate
创建Maven的普通java项目
mvn tomcat:run
在tomcat容器中运行web应用
mvn jetty:run
调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用

其他

  1. -D开头参数的含义: 传入属性参数
    比如命令:
    mvn package -Dmaven.test.skip=true
    -D开头,将maven.test.skip的值设为true,就是告诉maven打包的时候跳过单元测试。同理,mvn deploy-Dmaven.test.skip=true代表部署项目并跳过单元测试。
  2. -e 显示maven运行出错的信息
  3. -X 显示maven允许的debug信息
  4. -P 使用指定的Profile配置(上文已做描述)

备注

❤ 如果内容中有纰漏请指正

发表评论

表情:
评论列表 (有 0 条评论,128人围观)

还没有评论,来说两句吧...

相关阅读