maven几个知识点的记录

前言

写java这么久,使用maven也较多。由于工具的傻瓜式操作,对很多知识不理解。例如maven便是其中之一。这里总结几个maven使用中的知识点。

环境

mac系统
idea工具

知识点

  • 安装
    在mac安装maven非常方便。
    brew search maven
$ brew search maven
==> Formulae
maven ✔                                                     [email protected]                                                   homebrew/linuxbrew-core/maven                               homebrew/linuxbrew-core/[email protected]
maven-completion                                            [email protected]                                                   homebrew/linuxbrew-core/maven-completion                    homebrew/linuxbrew-core/[email protected]
maven-shell                                                 [email protected]                                                   homebrew/linuxbrew-core/maven-shell                         homebrew/linuxbrew-core/[email protected]

==> Casks
mavensmate

brew install maven

  • 配置环境变量

类似jdk,这里需要配置 MAVEN_HOME

$ cat /etc/profile
# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
    eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
    [ -r /etc/bashrc ] && . /etc/bashrc
fi

export MAVEN_HOME=/usr/local/Cellar/maven/3.6.0/libexec
export PHANTOMJS_HOME=/usr/local/phantomjs
export PATH=$PATH:$PHANTOMJS_HOME/bin
  • 查看系统全局maven的信息
$ mvn -v
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: /usr/local/Cellar/maven/3.6.0/libexec
Java version: 1.8.0_131, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.13.6", arch: "x86_64", family: "mac"
  • 查看当前项目的mvn 信息。
    mvn -X
  • 修改配置。
    由于maven的中央仓库在国外,因此需要修改为国内源。
    进入目录Maven home: /usr/local/Cellar/maven/3.6.0/libexec
    编辑 vi conf/settings.xml
    设置从阿里云的中央仓库下载资源。
  
  alimaven  
  aliyun maven  
  http://maven.aliyun.com/nexus/content/groups/public/;  
  central          

设置本地仓库路径

 /Users/ft521/Documents/study/tools/maven-350

需要主要的地方,maven有2个配置。上面是全局配置。通常还有一个用户配置。路径位于
/Users/ft521/.m2 里面也存在一个settings.xml 而且优先级比全局的高。

  • 配置idea

这里我遇到一个坑,idea自带了maven,我忘记修改配置。导致下载依赖包速度非常慢。

因此这里我需要修改idea的maven配置,让它使用我们本地安装的maven。

maven几个知识点的记录_第1张图片
image.png

maven插件的使用

  • 使用Maven Help插件
    help:active-profiles
    列出当前构建中活动的Profile(项目的,用户的,全局的)。
    help:effective-pom
    显示当前构建的实际POM,包含活动的Profile。
    help:effective-settings
    打印出项目的实际settings, 包括从全局的settings和用户级别settings继承的
    配置。
    help:describe
    描述插件的属性。它不需要在项目目录下运行。但是你必须提供你想要描述插件
    的 groupId 和 artifactId。

例如在项目中执行下面的命令。

$ mvn help:effective-settings

打印所有可用的环境变量和Java系统属性

$ mvn help:system

- 使用Maven archetype插件

  • 使用模板创建项目
    mvn archetype:generate
    执行之后会提示一些设置。按提示操作即可。

  • 使用本地模板。如果你本地没有自定义,则没有模板。
    mvn archetype:generate -DarchetypeCatalog=local
    这个表示使用开发者自定义的本地模板。

  • 如何创建自己的模板

在一个已经完整的项目中,进入项目文件夹,

$ mvn archetype:create-from-project

等待即可,最后看到一个SUCCESS就表示成功。

  • 将刚刚生成的模板发布到本地仓库中。
 mvn install

此时就可以使用你自定义的模板了。
此时再执行
mvn archetype:generate -DarchetypeCatalog=local
就会出现模板选择,输入数字即可。例如下图。

maven几个知识点的记录_第2张图片
image.png
  • maven打包jar。
    打包jar有多种方式。这里我选择的是其中一种。一个jar包。一个lib文件夹。lib是依赖的jar


                org.apache.maven.plugins
                maven-jar-plugin
                2.4
                
                    
                        
                            true
                            lib/
                            com.insigmaunited.lightai.net.server.LightaiServer
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-dependency-plugin
                
                    
                        copy
                        package
                        
                            copy-dependencies
                        
                        
                            ${project.build.directory}/lib
                        
                    
                
            

你可能感兴趣的:(maven几个知识点的记录)