maven特点

  1. maven模型的java项目,对源代码、测试代码、资源、jar包有比较规范的目录规划
  2. maven可以解决项目之间的依赖关系,版本冲突的问题
  3. maven有一个合理的jar包管理机制
  4. maven可以解决jar包之间的依赖管理(maven的jar包相当于yum的rpm包)

maven目录规划

项目根目录:pom文件的存放位置 kgcweb.tar.gz    src    pom
项目文件存储的目录

src:存放项目的源代码(项目的主体代码和测试代码,项目资源)

target:存放项目编译输出的内容(class文件、jar包或者war包)

pom.xml:主要记录了项目的详细信息,包括依赖关系、打包的格式、项目名称、公司名称

project:项目的根目录元素约束

groupld:公司的名字,一般分为三部分组成(com,org、公司名字、项目名字) com.kgc.kgcweb

artifactid:项目的名字

packaging:该项目打包后会生成的包文件的格式

maven的仓库

  1. 本地仓库:默认情况下,什么都没有,存放下载到本地的jar包和资源位置--->用户家目录/.m2/repository/ 特点:在所有仓库中,优先级最高,如果需要jar包,首先看本地仓库有没有,本地仓库没有再说其他
  2. 远程仓库:除了本地仓库,其他的都叫远程仓库 * 中央仓库:maven的官方仓库,,如果maven不配置镜像,那么在本地仓库没有需要的jar包情况下,会直接去中央仓库下载,网络要流畅 * 第三仓库(私服):一般是企业或者学校搭建,供内部使用,私服存储了jar包之后,局域网之内的maven用户如果需要通过局域网传输,速度快,稳定,目前比较成熟的是:nexus

maven配置文件

安装目录:/usr/local/maven

配置文件:可能存在的两种地方

  1.  安装目录:/usr/local/maven/conf/settings.xml
  2. 本地仓库:settings.xml

区别:安装目录的配置文件成为全局配置
本地仓库的配置文件称为用户配置(本地仓库默认没有,可以复制)
如果二者同时存在,文件内容会被合并,并且,用户配置优先级更高

maven常用操作命令

# 必须要在项目根目录执行
[root@localhost kgcapp]# mvn compile               # 编译
[root@localhost kgcapp]# mvn test                  # 测试编译
[root@localhost kgcapp]# mvn package               # 打包
[root@localhost kgcapp]# mvn clean                 # 清理(清理编译输出目录。效果相当于:rm -rf target)
[root@localhost kgcapp]# mvn install               # 上传包文件(把包上传到本地仓库)
[root@localhost kgcapp]# mvn deploy                # 上传包文件(把包上传到私服)
[root@localhost kgcapp]# mvn clean package         # 先清理后打包
[root@localhost kgcapp]# mvn clean install         # 先清理后上传

maven命令的生命周期

install比较靠后,compile package靠前,使用mvn install 默认前面的都执行

maven的部署安装

安装JAVA环境

  1. 首先需要下载JDK安装包,并解压到/usr/local目录下
[root@localhost ~]# tar -zxf jdk-8u201-linux-x64.tar.gz -C /usr/local/
  1. 设置环境变量
[root@localhost ~]# vim /etc/profile

在末尾添加

export JAVA_HOME=/usr/local/jdk1.8.0_201/
export JRE_HOME=/usr/local/jdk1.8.0_201/jre
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin

使环境变量生效

[root@localhost ~]# source /etc/profile

添加软连接

[root@localhost ~]# ln -s /usr/local/jdk1.8.0_171/bin/java /usr/bin/java

检测java版本

[root@localhost ~]# java -version

安装maven

下载maven安装包,并解压到当前目录

[root@localhost ~]# tar -zxvf apache-maven-3.6.0-bin.tar.gz

然后将其移动到/usr/local/maven/目录下

[root@localhost ~]# mkdir /usr/local/maven
[root@localhost ~]# mv apache-maven-3.6.0/* /usr/local/maven/

查看maven信息(出现版本信息,说明maven环境安装成功)

[root@localhost ~]# mvn -v

创建maven项目(慢慢等待下载....最后用时29.40分钟 :hu: )

[root@localhost ~]# mvn archetype:generate -DgroupId=com.kgcapp -DartifactId=kgcapp -DarchetypeArtifactId=maven-archetype-quickstart

完成以后会在/root目录下创建kgcapp项目文件夹(maven下面的操作必须在此文件夹下进行

[root@localhost ~]# cd kgcapp/
[root@localhost kgcapp]# ls
pom.xml src

编译 (速度太慢,先配置阿里云镜像,再回来编译:yinxian:

[root@localhost kgcapp]# mvn compile

配置阿里云镜像

[root@localhost kgcapp]# vim /usr/local/maven/conf/settings.xml
# 在其中增加以下代码
    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>*</mirrorOf>
        <name>aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>

测试编译(速度明显提升)

[root@localhost kgcapp]# mvn test

部署web项目

[root@localhost kgcapp]# mvn archetype:generate -DgroupsId=com.kgc.kgcweb -D artifactId=kgcweb -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

[root@localhost kgcapp]# mvn clean package

安装tomcat

首先还是先下载Tomcat安装包,并解压到/usr/local目录下

[root@localhost ~]# tar -zxf apache-tomcat-8.5.35.tar.gz -C /usr/local/

启动Tomcat

[root@localhost ~]# cd /usr/local/
[root@localhost local]# cp -r apache-tomcat-8.5.35/ ./tomcat

[root@localhost local]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk1.8.0_201/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@localhost ~]# firefox 192.168.1.11:8080

将项目解压到tomcat默认前端文件目录

[root@localhost kgcapp]# rm -rf /usr/local/tomcat/webapps/ROOT/*          # 首先删除tomcat默认的前端文件
[root@localhost kgcapp]# unzip target/kgcweb.war -d /usr/local/tomcat/webapps/ROOT/

访问测试

[root@localhost kgcapp]# firefox 192.168.1.11:8080
# 或者
[root@localhost kgcapp]# curl 192.168.1.11:8080

也可以安装elinks访问测试

[root@localhost kgcapp]# yum -y install elinks
[root@localhost kgcapp]#elinks 192.168.1.11:8080
Last modification:July 23rd, 2020 at 11:02 pm
如果觉得我的文章对你有用,请随意赞赏