Maven参考手册

最近都在使用maven来开发系统,关于maven以前了解的不多,现在统一整理成一个使用手册。

1.setting.xml

1.1概要

setting.xml是maven的配置文件,其基本结构如下所示:

    
      
      
      
      
      
      
      
      
      
      
    

setting.xml文件位于:

$M2_HOME/conf/settings.xml
${user.home}/.m2/settings.xml

两个配置文件都能够发挥作用,当然,用户专属的settings.xml有优先权。

显然,settings.xml能够定义maven的一些行为。

一般来说,公司内部会有公共的settings.xml,只需要copy一份到~/.m2文件夹下就能发挥作用。

1.2各项配置的作用

  true
  false
  false
  • localRepository:这是本地仓库的地址。默认是~/.m2路径。
  • interactiveMode:默认为true,这决定了用户输入时的交互形式。
  • usePluginRegistry:如果需要通过配置管理插件,配置路径:${user.home}/.m2/plugin-registry.xml。默认为false,即不配置。
  • offline:当需要离线环境时,可以将此配置文件配置为false。(比如说公司网络挂了)
  
    org.mortbay.jetty
  

pluginGroups用来配置mvn插件,比如说上面的code,会安装jetty插件。运行方法为:

mvn jetty:run

1.3配置私服

setting.xml最重要的一个功能就是能够指定私服私服的重要意义在于,可以在中心maven服务器任意发布jar包,不用担心泄密。

  
    
      server001
      my_login
      my_password
      ${user.home}/.ssh/id_dsa
      some_passphrase
      664
      775
      
    
  
  • id username password:根据私服的设置来配置id 用户名和密码。
  • privateKey, passphrase:如果私服位于外网,那么配置公钥登录就是必须的。更详细的内容参考:http://maven.apache.org/guides/mini/guide-encryption.html
  • filePermissions, directoryPermissions: 下载下来的文件和目录权限控制,一般默认就好。
  
    
      ...
      
        
          codehausSnapshots
          Codehaus Snapshots
          
            false
            always
            warn
          
          
            true
            never
            fail
          
          http://snapshots.maven.codehaus.org/maven2
          default
        
      
      
        ...
      
      ...
    
  
  • releases, snapshots: 控制当releases, snapshots,需要只让snapshots下载时有用。
  • enabled:可用性
  • updatePolicy:更新政策
  • checksumPolicy:校验政策
  • layout:默认就好

2.pom.xml

2.1 概要

pom的意思是Project Object Model,是用来配置项目环境的文件。

所有的参数如下所示:


  
  4.0.0
 
  
  ...
  ...
  ...
  ...
  ...
  ...
  ...
  ...
  ...
 
  
  ...
  ...
 
  
  ...
  ...
  ...
  ...
  ...
  ...
  ...
  ...
 
  
  ...
  ...
  ...
  ...
  ...
  ...
  ...
  ...
  ...

2.2基础


  4.0.0
 
  org.codehaus.mojo
  my-project
  1.0

groupId:包名,与此同时,项目会在mvn install之后放入~/m2/repository/xxx对应的路径下。
artifactId:应用名
version:版本号

参考文献

maven官方文档:setting.xml
maven官方文档:pom.xml

你可能感兴趣的:(Maven参考手册)