📝
DevManual
  • Introduction
  • 开发
    • 数据库
      • mysql
        • centos7忘记mysql的密码
        • functions.md
        • 性能监控
        • mysql实现主从同步
        • mysql 正则表达式
        • 基本操作
    • 常用命令
      • windows Dos常用命令
      • Docker 常见命令
      • svn 常用命令
    • Java开发
      • logback
        • logback 介绍
      • maven
        • pom 介绍
        • mavencmd.md
      • mybatis.md
      • springtest.md
    • 前端
      • node 的包结构
      • 安装Node js
  • 工具
    • 工具列表
    • 开源镜像源
    • IDEAJ
      • Idea.md
      • 最常用
      • 后台Java
    • git
      • git 技巧
      • Git常用操作
    • gitbook
      • 安装 GitBook
      • 输出PDF
    • markdown
      • Markdown 简明语法手册
      • vscode_markdown.md
    • 绘图工具
    • swagger
      • swagger 介绍
  • 面试
    • hr.md
    • SRE面试题
  • 其他
    • 看懂开源许可证
    • 提问的智慧
    • 习惯总结.md
    • 程序员常见职业病列表
Powered by GitBook
On this page
  • maven 命令的格式
  • 常用命令
  • web项目相关命令
  • maven执行顺序
  • 把项目部署到tomcat下的做法
  • 其他命令
  • 处理maven报错

Was this helpful?

  1. 开发
  2. Java开发
  3. maven

mavencmd.md

maven 命令的格式

maven 命令的格式为 mvn [plugin-name]:[goal-name] ,可以接受的参数如下:

-D 指定参数,如 -Dmaven.test.skip=true 跳过单元测试;
-P 指定 Profile 配置,可以用于区分环境;
-e 显示maven运行出错的信息;
-o 离线执行命令,即不去远程仓库更新包;
-X 显示maven允许的debug信息;
-U 强制去远程更新snapshot的插件或依赖,默认每天只更新一次。

常用命令

清理maven项目:mvn clean
验证项目是否正确以及必须的信息是否可用:mvn validate
编译源代码: mvn compile
测试编译后的代码,即执行单元测试代码:mvn test
maven 打包:mvn package
只打jar包:mvn jar:jar
检验package是否有效并且达到质量标准:mvn verify
编译测试代码:mvn test-compile
安装项目到本地仓库:mvn install
发布项目到远程仓库:mvn deploy

创建maven项目:mvn archetype:create
指定 group: -DgroupId=packageName
指定 artifact:-DartifactId=projectName
创建web项目:-DarchetypeArtifactId=maven-archetype-webapp
创建maven项目:mvn archetype:generate

生成源码jar包:mvn source:jar
产生应用需要的任何额外的源代码:mvn generate-sources

生成eclipse项目:mvn eclipse:eclipse
清理eclipse配置:mvn eclipse:clean
生成idea项目:mvn idea:idea

在集成测试可以运行的环境中处理和发布包:mvn integration-test
生成站点目录: mvn site
生成站点目录并发布:mvn site-deploy
安装本地jar到本地仓库:mvn install:install-file -DgroupId=packageName -DartifactId=projectName -Dversion=version -Dpackaging=jar -Dfile=path
显示maven依赖树:mvn dependency:tree
显示maven依赖列表:mvn dependency:list
下载依赖包的源码:mvn dependency:sources
查看实际pom信息: mvn help:effective-pom
分析项目的依赖信息:mvn dependency:analyze 或 mvn dependency:tree
查看帮助信息:mvn help:help 或 mvn help:help -Ddetail=true
查看插件的帮助信息:mvn :help,比如:mvn dependency:help 或 mvn ant:help
生成eclipse项目:mvn eclipse:eclipse
生成idea项目:mvn idea:idea
组合使用goal命令,如只打包不测试:mvn -Dtest package
只打jar包: mvn jar:jar

web项目相关命令

启动tomcat:mvn tomcat:run
启动jetty:mvn jetty:run
运行打包部署:mvn tomcat:deploy
撤销部署:mvn tomcat:undeploy
启动web应用:mvn tomcat:start
停止web应用:mvn tomcat:stop
重新部署:mvn tomcat:redeploy
部署展开的war文件:mvn war:exploded tomcat:exploded

maven执行顺序

mvn clean compile
mvn clean test
mvn clean package
mvn clean install

实际上,执行test之前会先执行compile的,执行package之前会先执行test,install之前会执行package. 若直接以某一个phase为goal,将先执行完它之前的phase,如mvn install将会先validate、compile、test、package、integration-test、verify最后再执行install phase。

把项目部署到tomcat下的做法

在maven项目目录下: mvn tomcat:deploy
访问: http://localhost:8080/mycontext/ 即可。
撤销部署:mvn tomcat:undeploy
启动web应用:mvn tomcat:start
停止web应用:mvn tomcat:stop
重新部署:mvn tomcat:redeploy
部署展开的war文件:mvn war:exploded tomcat:exploded

其他命令

生成清除Eclipse项目结构:
mvn eclipse:eclipse
mvn eclipse:clean

清理(删除target目录下编译内容):
mvn clean

仅打包Web页面文件:
mvn war:exploded

打包时跳过测试:
mvn package -Dmaven.test.skip=ture

跳过测试运行maven任务:
mvn -Dmaven.test.skip=true XXX

创建Maven的普通java项目(只适用于Maven2.x版本):
mvn archetype:create -DgroupId=packageName -DartifactId=projectName

创建Maven的Web项目(只适用于Maven2.x版本):
mvn archetype:create  -DgroupId=packageName-DartifactId=webappNameDarchetypeArtifactId=maven-archetype-webapp

创建Maven的Web项目(只适用于Maven3.x版本):  
F:\SoftWare\Maven\MavenWebAppTest>mvn archetype:generate -DgroupId=com.shihuan -DartifactId=S3h3WebWs-DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

创建Maven的Quickstart项目(只适用于Maven3.x版本):
F:\SoftWare\Maven\MavenWebAppTest>mvn archetype:generate -DgroupId=com.shihuan -DartifactId=S3h3WebWs-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

处理maven报错

清理maven未下载成功的jar包(在maven仓库下执行)
for /r %i in (*.lastUpdated) do del %i
Previouspom 介绍Nextmybatis.md

Last updated 5 years ago

Was this helpful?