安装部署Maven的教程-创新互联-成都快上网建站

安装部署Maven的教程-创新互联

这篇文章给大家分享的是安装部署Maven的方法,相信大部分人都还没学会怎么部署,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。

创新互联建站一直通过网站建设和网站营销帮助企业获得更多客户资源。 以"深度挖掘,量身打造,注重实效"的一站式服务,以网站设计、成都做网站、移动互联产品、成都营销网站建设服务为核心业务。十余年网站制作的经验,使用新网站建设技术,全新开发出的标准网站,不但价格便宜而且实用、灵活,特别适合中小公司网站制作。网站管理系统简单易用,维护方便,您可以完全操作网站资料,是中小公司快速网站建设的选择。

安装Maven需依赖java环境,所以应实现部署jdk环境!

1)配置jdk环境

[root@maven ~]#  rpm -qa | grep jdk       //查询本机默认JDK环境
java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
copy-jdk-configs-3.3-2.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
[root@maven ~]# yum -y remove java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
[root@maven ~]# yum -y remove java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
//将原本的jdk-headless包卸载
[root@maven ~]# tar zxf jdk-8u211-linux-x64.tar.gz -C /usr/local         //将提供的JDK软件包进行解压
[root@maven ~]# vim /etc/profile         //编写系统环境变量,在末尾添加以下内容
     export JAVA_HOME=/usr/local/jdk1.8.0_211           //指定Java安装路径
     export JRE_HOME=/usr/local/jdk1.8.0_211/jre          //Java运行环境
     export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar        //声明Java中的类,类就是一类事务的属性
     export PATH=$JAVA_HOME/bin/:$JRE_HOME/bin/:$PATH       //将定义的变量添加到系统环境变量中
[root@maven ~]# source /etc/profile           //重新加载系统环境变量文件
[root@maven ~]#java -version              //查询支持的Java版本信息
java version "1.8.0_211"                //符合要求
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

2)部署Maven

[root@maven ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
#可直接使用网盘中的apache-maven-3.6.1-bin.tar.gz
[root@maven ~]# tar zxf apache-maven-3.6.3-bin.tar.gz -C /usr/src
[root@maven ~]# mv /usr/src/apache-maven-3.6.3/ /usr/local/maven
[root@maven ~]# vim /etc/profile      #添加以下内容
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
[root@maven ~]# source /etc/profile
[root@maven ~]# mvn -v     #出现下面内容就部署成功了(因为这是二进制的方式部署)
Apache Maven 3.6.3 (cecedd343002696d0abb0b32b541b8a6ba2883f)
Maven home: /usr/local/maven
Java version: 1.8.0_211, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_211/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-862.el7.x86_64", arch: "amd64", family: "unix"
1)配置使用阿里云仓库地址

由于使用maven官网的地址。下载较慢,所以直接更改为阿里云提供的maven仓库地址!

[root@maven ~]# vim /usr/local/maven/conf/settings.xml
#定位到158行,填写一下内容
   
    aliyun
    central
       aliyun maven
    https://maven.aliyun.com/nexus/content/groups/public/
   
        #必须写在这个标签里面
#mirror就是镜像,主要提供一个方便地切换远程仓库地址的途径
#central里是要替代的仓库的id。代理原有仓库,如果填写*表示替换所有仓库 
2)构建项目进行测试
[root@maven ~]# mkdir /tmp/testdir
[root@maven ~]# cd /tmp/testdir/
#执行下面命令进行测试
[root@maven testdir]# mvn archetype:generate -DgroupId=com.lzj.maven.quickstart -DartifactIdk=testapp -DarchetypeArtifactId=maven-archetype-quickstart
#创建一个maven项目(Java类型),可加-DinteractiveMode=false取消交互过程
           ...........................#省略部分内容
Define value for property 'artifactId': testapp    #需手动指定项目名称,可自定义,接下来保持默认即可!
[INFO] BUILD SUCCESS     #当出现这行提示信息,则表示构建成功
#上述命令解释如下:
# archetype:generate:创建一个简单的java项目;
# archetype 也就是原型,是一个 Maven 插件,准确说是一个项目模板,它的任务是根据模板创建一个项目结构。
#使用 quickstart 原型插件创建一个简单的 java 应用程序
# -DgroupId:组织名,公司网址的反写(反向域名)+项目名称;
# -DartifactIdk:项目名或者模块名;
# - DarchetypeArtifactId:指定 ArchetypeId,maven-archetype-quickstart,创建一个简单的 Java 应用;
# -DinteractiveMode: 是否使用交互模式。
3)生成的POM文件参数解释

当前目录生成的内容:

[root@maven testdir]# ls  #上述命令执行成功后,会在当前目录下生成以项目名称命名的目录
testapp
[root@maven testdir]# cd testapp/    #进入生成的目录
[root@maven testapp]# ls         #查看目录下生成的文件
pom.xml  src
[root@maven testapp]# cat pom.xml     #pom文件参数解释
project: 根,这是对Project添加一些根元素的约束信息
modelversion:指定当前maven模型的版本号
grouopId:应该是公司名或者组织名。一般来说groupID有三个部分组成,每个部分之间以“.”分隔,第一部分是项目的用途,比如用于商业的就是com,用于非商业盈利性组织的就是org,第二部分是公司名,比如tentxun/baidu/alibaba,第三部分是你的项目名
artifactId:可以认为是maven构建的项目名,比如你的项目中有子项目,就可以使用“项目名-子项目的命名方式
packaging: 指定生成的格式(jar/war/rar/pom/ear)
version:版本号,SNAPSHOT意味快照,说明该项目还在开发中,是不稳定的版本
name:项目的名称, Maven产生的文档用
url:项目主页的url,Maven产生的文档用
dependencies标签:指定开发构建(jar包)
JUnit是一个Java语言的单元测试框架

用户宿主目录下也会生成本地仓库:

[root@Maven testdir]# ls ~/.m2/repository/
antlr  asm  commons-codec  commons-collections  commons-io  commons-lang  jdom  net  org
4)Maven配置文件

Maven 的配置文件名称为:setting.xml。它被存放在两个地方:
1)/usr/local/maven/conf/settings.xml #安装的目录;
2)~/.m2/settings.xml #用户的家目录;

其中,安装目录配置又是全局配置,用户目录配置被称为用户配置。如果两者都存在,他们的内容将被合并,并且用户范围的settings.xml优先。

默认用户目录不存在配置文件,可以copy maven安装目录下的settings.xml到用户目录。

关于settings.xml文件常用的的配置修改如下:
1)修改本地仓库存储路径,默认值是~/.m2/repository 可在settings.xml中的localrepository修改成自己需要的目录;
2)如果构建服务器因为网络故障或者安全问题不能与远程仓库相连,需要离线模式下,设置offline属性,设置为true,默认为false;
3)修改中央仓库服务器,修改配置文件中便签,添加或修改镜像地址;
4)设置代理地址,修改配置文件中proxy标签,定义代理服务器,实现maven的代理。

由于中央仓库服务器是国外的,在国内使用的话,下载比较慢,所以建议国内用户使用阿里云仓库地址。

5)Maven常用命令
[root@maven testapp]# pwd    #确认当前目录是之前构建的项目下
/tmp/testdir/testapp
[root@maven testapp]# mvn compile  #编译(在编译的过程中,可以看到使用的是阿里云的仓库)
[INFO] BUILD SUCCESS    #只要在输出信息的最后几行中看到该行,则表示执行成功
#以后所有命令都一样,只要最后几行有上述信息,就表示执行成功
[root@maven testapp]# ls   #会看到目录下会生成新的目录target
pom.xml  src  target
# target:打包输出目录,如打包好的jar或war文件;
# target/classes:编译输出目录;
[root@maven testapp]# mvn test      #测试命令
[root@maven testapp]# ls target/test-classes/
com
# target/test-classes:测试编译输出目录
[root@maven testapp]# mvn clean  #清理命令(就是将编译和测试生成的目录删除)
[root@maven testapp]# ls    # target目录已经不在了
pom.xml  src
[root@maven testapp]# mvn package    #打包命令
[root@maven testapp]# ls target/   #会生成一个jar包
classes     surefire-reports
maven-archiver  testapp-1.0-SNAPSHOT.jar
maven-status   test-classes
[root@maven testapp]# mvn install     #安装命令(作用是将压缩文件jar包或者war包上传到本地仓库)
[root@maven testapp]# ls ~/.m2/repository/com/lzj/maven/quickstart/testapp/1.0-SNAPSHOT/
#查看上传的包
maven-metadata-local.xml  testapp-1.0-SNAPSHOT.jar
_remote.repositories    testapp-1.0-SNAPSHOT.pom
# 直接使用maven install命令对项目进行上传到本地仓库,
# 那么前面所有的步骤将会自动执行,比如源代码的编译、打包等等。
[root@maven testapp]# mvn deploy    #发布(将包上传到游戏,现在我这里还没有游戏,所以会失败)
6)mvn命令的生命周期

maven基于构建生命周期这个中心概念,这意味着构建和分布特定项目的过程被明确定义,具体如下:
大致的生命周期图:
安装部署Maven的教程
详细的生命周期图:
安装部署Maven的教程

7)构建一个web项目,打出war包,并部署到tomcat
[root@maven testdir]# mvn archetype:generate -DgroupId=cn.test.testweb -DartifactId=testweb -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
#构建web项目
#生成的目录结构如下:
[root@maven testdir]# ls testweb/
pom.xml  src
[root@maven testdir]# cat testweb/src/main/webapp/index.jsp 


Hello World!

[root@maven testdir]# cd testweb/  #进入项目目录下 [root@maven testweb]# mvn package     #打包为war包 [root@maven testweb]# ls target/    #将会在该目录下生成一个war包 classes  maven-archiver  testweb  testweb.war #将生成的war包移动到Tomcat的网页根目录(webapps)下,它将自动解压, #然后即可访问Tomcat测试生成的war包 [root@maven testweb]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.tar.gz [root@maven testweb]# tar zxf apache-tomcat-9.0.31.tar.gz [root@maven testweb]# mv apache-tomcat-9.0.31 /usr/local/tomcat     #安装tomcat [root@maven testweb]# mv target/testweb.war /usr/local/tomcat/webapps/ #移动到Tomcat网页根目录 [root@maven testweb]# /usr/local/tomcat/bin/startup.sh   #启动Tomcat [root@maven testweb]# ls /usr/local/tomcat/webapps/    #查看,war包被自动解压了 docs    host-manager  ROOT   testweb.war examples  manager    testweb

客户端访问移动到Tomcat网页根目录下的war包,如图:
安装部署Maven的教程

以上就是安装部署Maven的方法介绍,详细使用情况还得要大家自己使用过才能知道具体要领。如果想阅读更多相关内容的文章,欢迎关注创新互联行业资讯频道!

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:安装部署Maven的教程-创新互联
新闻来源:http://kswjz.com/article/gcsho.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流