zoukankan      html  css  js  c++  java
  • Maven常用命令及在Eclipse中的应用

    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。

  • 相关阅读:
    Tomcat之the jre_home environment variable is not defined correctly this environment variable is need
    java集合框架之聚合操作stream
    java集合框架之比较器Comparator、Comparable
    java集合框架之HashCode
    java集合框架之几种set(HashSet LinkedHashSet TreeSet )
    java集合框架之HashMap和Hashtable的区别
    java集合框架之Collections
    java集合框架之Collection
    java集合框架之HashSet
    java集合框架之HashMap
  • 原文地址:https://www.cnblogs.com/EasonJim/p/6671338.html
Copyright © 2011-2022 走看看