`
dcriori
  • 浏览: 95485 次
社区版块
存档分类
最新评论

Maven学习笔记

阅读更多

    Maven的好处就不多说了,好不好一用就知道,对不对,你懂的。

    配置也不多说,网上文章一大堆,也就是在环境变量里加一些路径,让系统知道去哪里可以找到可执行程序。但如果要使用maven编辑比较大程序,要占用很多的系统资源,可以设置一下MAVEN_OPTS,用来加大提供给Maven编译时的内存,否则内存不足时很容易出现java.lang.OutOfMemeoryError错误。

如下图所示:


 

接下来我们可以使用maven来创建我们的项目如下(这些命令是一行上,为了方便观看,我折了行):

 

mvn archetype:generate   
              -DgroupId=com.yourcompany  
              -DartifactId=myproject  
              -DarchetypeArtifactId=maven-archetype-quickstart 

    这里mvn就不说什么意思了,如果不懂请学习计算机基础知识,呵呵。
    maven是以插件方式工作的,我们自己也可以可发自己的maven插件用来提高开发效率或处理一些特殊情况。这个非常方便,那么archetype:create是什么呢?archetype:其实是maven的一个插件,叫maven-archetype-mojo

create就是这个插件的一个命令,在maven里的学名叫goal。archetype顾名思义就是创建原型的插件,也就是用来创建各种工程,目前maven提供了近400种不同的原型类型。

      好,继续看上面那条命令mvn archetype:create,这就一条创建工程原型的命令,那后面跟的就都是这个命令的参数,如果大家细心的话会发现参数都是以-D开头的,maven用-D来标识这是一个参数(意思是定义一个系统属性)。然后archetype:create需要几个必填的参数groupId , artifactId 以及 archetypeArtifactId。

其中

  • groupId 是项目或者组织的唯一标志,并且配置时生成的路径也是由此生成,如org.sagaris.mojo在maven的仓库里生成的相对路径为:/org/sagaris/mojo
  • artifactId 是项目的通用名称。这个会在maven仓库的的groupId路径下生成一个与artifactId名称一样的目录,存放打包好的jar,war或其它文件。
  • archetypeArtifactId是原型的类型,包括创建jsf工程,wtp工程,flex工程等等等等(大约近400种)。

     如下图所示,-DgroupId = com.google.code -DartifactId=google-collections

    

 

     关于archetypeArtifactId 因为比较多,很难用脑子记住,当然有一个编程工具会给你提示,如果IntelliJ idea,eclipse等,如果你自己想要看一下到底maven-archetype-mojo支持哪些原型模型怎么办呢?

    你可以使用

mvn archetype:generate

    这是一个maven2新加入的特性,这样的结果是下图这样

 

 这里我们看到,maven使用了另一个插件maven-archetype-quickstart,这时候他会列出所有archetype来让你选择。


 
 这样选择一个archetype 类型,添入groupId , archetypeId ,version , package等内容,就可以创建出一个maven工程了。  

       这里要有一个问题,如果你的CMD程序缓存太小的话,可能你只能看到列出的后面的类型,前100多个可能是看不到。需要你更改一下CMD程序的属性。如下图:



 

将默认300的缓存搞大一些就可以了。

 

      好,今天先写到这,基本记录了一下学习过程。

  • 大小: 34.3 KB
  • 大小: 3.2 KB
  • 大小: 82.9 KB
  • 大小: 68.5 KB
  • 大小: 59.2 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics