1、常用命令

mvn archetype:generate--构建项目
mvn clean--项目清理
mvn test--项目单元测试的编译
mvn compile--项目源代码的编译
mvn package--项目打包
mvn install--发布项目提交到本地仓库
mvn deploy--发布项目到
mvn jetty:run--启动jetty容器
mvn eclipse:clean--清除eclipse的一些系统设置
mvn eclipse:eclipse--生成eclipse项目文件
mvn idea:clean--清除idea的一些系统设置
mvn idea:idea--生成idea项目文件
mvn dependency:tree--查看依赖树
mvn assembly:assembly--需要配assembly插件,可用于把指定文件进行打包 tar.gz,zip包
//指定maven参数:
-DskipTests=true--默认不走单元测试
-P local--选择资源文件类型 local,需在pom开启资源配置

提示1:关于maven的参数,在参数前面的大写D是传递参数的符号,后面才是参数的真正名称,这一说法可以参考《maven实战》一书,里面有详细的解释。链接:https://item.jd.com/10476794.html

提示2:个人理解,maven其实都是以插件的机制组合而成的,比如archetype,eclipse,jetty,idea这些,每一个都代表了一个插件。比如archetype的用法为什么用grenrate,还有参数要传递生成,直接搜索:maven archetype plugin。

提示3:maven执行时,是有顺序的,比如mvn clean test compile,如果单独运行mvn compile时,默认会执行clean,test命令。

2、常用搭建项目骨架的命令

生成application项目:mvn archetype:generate -DarchetypeCatalog=internal -DarchetypeArtifactId=maven-archetype-quickstart
生成web项目:mvn archetype:generate -DarchetypeCatalog=internal -DarchetypeArtifactId=maven-archetype-webapp

提示1:如上面解释的,archetype实质上一个插件,那么我们可以直接搜索这插件的用法,官方链接:http://maven.apache.org/guides/introduction/introduction-to-archetypes.html,在页面的右侧只要有超链接的都可以点进去看其它扩展说明。

提示2:而对于maven-archetype-quickstart这些参数,也是官网提供的,参考:http://maven.apache.org/archetypes/index.html,里面明确给出了示例和创建文件夹的意思代表的是什么。

上面的命令执行时,会提示输入groupid,artifactid这些信息,依次输入即可完成。

比如我们要默认生成一个项目骨架时,可以是如下命令:

mvn archetype:generate -DarchetypeCatalog=internal -DgroupId=(项目组)com.jsoft.testproject -DartifactId=(项目名/模块名)testmaven -Dversion=(版本号)1.0-SNAPSHOT  -Dpackage=(包名)testpackage

提示1:以上创建是以maven-archetype-quickstart为主的项目。

提示2:同样,经过测试,无论是新建的是quickstart项目还是webapp项目,只要文件夹新建对了即可。

3、maven项目的文件夹说明

一个标准的maven项目,以quickstart为主的文件夹目录结构如下:

而webapp项目的目录结构如下:

请注意:webapp项目上会在main文件夹上多出一个webapp的文件夹,且这个webapp文件夹不会在test文件夹上出现,也就说,单元测试是测试逻辑代码。

而如果使用maven命令新建webapp项目时,默认是不带test文件夹的,test文件夹可以后期新建,对于为什么不新建,其实是官方默认没有。参考:

http://maven.apache.org/archetypes/maven-archetype-webapp/

http://stackoverflow.com/questions/3042518/maven-archetype-webapp-eclipse-problem其中这里也做了说明,对于test文件夹自己去新建效果也是一致的。

Maven官方最标准的目录布局:http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

以上内容参考:http://yanan0628.iteye.com/blog/2270344

4、maven在eclipse中的应用

在最新版本的eclipse中,已经默认集成maven的插件,可以非常方便的集成各种命令。在eclipse示意图如下:

比如要执行一个mvn compile的命令,操作为:Maven build...,注意:这里Maven build为执行最近一次的命令,所以千万不要搞错;然后输入compile

出现如上构建,证明已经成功。

而针对webapp项目,可以使用Run as Server进行测试,如果你的项目不能运行,那么肯定是没有配置成功导致的。

很多时候我们已经不用tomcat进行测试了,转而使用更快捷更轻量级的jetty进行操作,比如:mvn jetty:run。

Maven常用命令及在Eclipse中的应用的更多相关文章

  1. Maven常用命令及Eclipse应用

    一般来说,github上大多的java项目都是使用maven,ant等进行构建的.由于之前没有使用过maven,因此这几天对maven进行了简单的学习.古话说:“温故而知新”,一些命令长时间不使用都会 ...

  2. maven(5)------eclipse下maven常用命令打包

    eclipse集成maven常用命令clean,install,一步完成项目清理和打包.在集成工具下使用maven 命令与命令窗口不同,需要将mvn省掉(比如:mvn clean,在工具中直接用cle ...

  3. maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

    maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository. ...

  4. 转:Maven常用命令

    转:Maven常用命令 Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ Maven常用命令: 1 ...

  5. Maven 常用命令, 备忘

    Maven在现在的Java项目中有非常重要的地位, Maven已经不是Ant这样仅仅用于构建, 首先, 它是一个构建工具, 把源代码编译并打包成可发布应用的构件工具其次, 它是一个依赖管理工具, 集中 ...

  6. Maven常用命令(转)

    Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ Maven常用命令: 1. 创建Maven的普通 ...

  7. Maven常用命令(转载)

    Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ Maven常用命令: 1. 创建Maven的普通 ...

  8. maven 常用命令及操作(转)

    Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ Maven常用命令: 1. 创建Maven的普通 ...

  9. maven常用命令介绍

    mvn 3.0.4 创建maven项目命令  mvn  archetype:generate   -DgroupId=damocles-autocredit -DartifactId=damocles ...

随机推荐

  1. Django 中 makemigrations、migrate时 No changes detected

    Django创建的项目中,需要更改.增加.删除表中的某些属性,性急直接把之前数据库表删除了,之后再执行: python manage.py makemigrations python manage.p ...

  2. 控制器没有足够的带宽可利用为USB大容量存储设备的解决方法

    伴随网盘时代的没落,最近刚入手了一个移动硬盘.现在的移动硬盘都是USB3.0,传输速度比USB2.0要快很多.但是链接笔记本电脑后发现传输速度在20MB/s左右,跟USB2.0速度差不多,并不能达到传 ...

  3. 为mysql数据库建立索引

    前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,尽管他们都为客户做过 ...

  4. viewpager 设置预加载项

    live_pager.setOffscreenPageLimit(3); 防止viewpager 左右滑动 fragment消失

  5. 在vue中优雅地实现简单页面逆传值

    [需求] 要实现的需求很简单,页面从A -> B,用户在B触发操作,将一些数据带回到A页面,在网上找了好久也只看到有人问,但总找不到很好答案.要实现的效果图如下: [联想] 在 ios 开发中, ...

  6. 理解Object.defineProperty的作用

    对象是由多个名/值对组成的无序的集合.对象中每个属性对应任意类型的值.定义对象可以使用构造函数或字面量的形式: var obj = new Object; //obj = {} obj.name = ...

  7. Go语言学习索引

    <Go并发编程实战>示例项目 项目地址: https://github.com/hyper-carrot/goc2p 项目安装: 用git clone获取项目,并将其根目录作为一个工作区. ...

  8. java foreach遍历的前提条件

    自我总结,欢迎拍砖,不胜感激! 目的: 加深foreach遍历的影响 证明:foreach遍历的前提条件是:list !=null ,而不是:list !=null && list.s ...

  9. java Object类是可以接收集合类型的

    废话不多说,上代码: package com.core.test; import java.util.ArrayList; import java.util.HashMap; import java. ...

  10. java存放数据的5个地方

    1.寄存器:最快的存储区,位于处理器内部,但是寄存器的数量极其有限,所以寄存器根据需求进行分配,你不 能直接控制,也不能在程序中感觉到寄存器存在的任何迹象.(C/C+允许向寄存器建议寄存器配, 但它不 ...