CentOS 7.2 64 位操作系统

安装 Maven

Maven 简介

Apache Maven 是一个软件项目管理及自动构建工具,由 Apache 软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven 利用一小段描述信息能管理一个项目的构建、报告和文档等步骤。

Java 安装

首先我们需要准备 Java 开发环境,使用下面命令来安装 Java:

yum -y install java-1.8.-openjdk-devel

Maven 下载

我们可以从官网下载页获取最新的下载链接(Binary tar.gz archive)。

然后我们使用 wget 命令将其下载:

cd /home
wget http://mirrors.shuosc.org/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz

解压压缩包:

tar xzvf apache-maven-3.5.-bin.tar.gz

将文件夹移动至 /usr/local/ 目录:

mv apache-maven-3.5. /usr/local/apache-maven

配置环境变量

编辑 /etc/profile,在最下方添加:

MAVEN_HOME=/usr/local/apache-maven
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin

Ctrl + S 保存文件,并运行如下命令使环境变量生效:

source /etc/profile

检查 Maven 是否成功安装:

mvn -version

Maven 简单使用

构建

我们可以通过 archetype:generate 命令快速构建出项目骨架。

Hello World

我们使用该命令创建一个 helloworld 项目。过程中可一路回车键选择默认值。(mvn 指令首次执行时,会从远程“中央仓库”下载一些必需的文件,请耐心等待,安装中的问题可以参考:http://www.cnblogs.com/jikexianfeng/p/8454638.html)

cd /home
mvn archetype:generate -DgroupId=helloworld -DartifactId=helloworld

项目结构

点击 /home/helloworld 查看项目结构。
其中:
/pom.xml 为项目对象模型(Maven 项目配置)
/src/main/java 用于存放源代码
/src/test/java 用于存放单元测试代码
/src/target 用于存放编译、打包后的输出文件

编译

进入项目目录:

cd /home/helloworld

执行编译:

mvn compile

重新开启 helloworld 项目文件夹,可以看到生成 target 目录。

运行

你可以使用 mvn 指明 mainClass 来运行项目:

mvn exec:java -Dexec.mainClass="helloworld.App"

完成后可看到终端输出了:

Hello World!

测试

我们可以通过 test 指令来运行单元测试代码。

mvn test

完成后可看到终端输出测试结果。

打包

通过 package 指令来执行打包。

mvn package

重新开启 target 目录,可看到生成了 .jar 文件。(从输出的日志可以看到,执行 package 前,会先执行 compile 及 test,最后执行了打包)

完成实验

恭喜!您已经成功完成了 Maven 安装与入门 的实验任务,您可以选择 留用 继续使用该环境。

基于Centos搭建Maven 安装与使用的更多相关文章

  1. 基于 CentOS 搭建 WordPress 个人博客

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 腾讯云提供了开发者实验室帮助用户搭建 WordPress 个人博客,教程内容如下,用户可以点击开发者实验室快速上机完成实验. 准备 LNMP ...

  2. 基于centos搭建微信小程序服务,配置及数据库等

    基于centos搭建小程序, ps:请提前20天准备将域名备案,申请ssl证书 实验上机地址:https://cloud.tencent.com/developer/labs/lab/10004 准备 ...

  3. 基于centos的docker安装

    1. 安装需求 内核版本3.10以上 Centos 7以上 64位版本 2. 使用root登录或者具有sudo权限 3. 确保系统是最新的 yum update 4. 添加yum源 tee /etc/ ...

  4. 基于CentOS搭建基于 ZIPKIN 的数据追踪系统

    系统要求:CentOS 7.2 64 位操作系统 配置 Java 环境 安装 JDK Zipkin 使用 Java8 -openjdk* -y 安装完成后,查看是否安装成功: java -versio ...

  5. 基于CentOS搭建Nginx 静态网站

    系统要求: CentOS 7.2 64 位操作系统 一. 安装 Nginx(在 CentOS 上,可直接使用 yum 来安装 Nginx) yum install nginx -y 安装完成后,使用 ...

  6. 基于Centos搭建Jenkins 环境搭建

    系统要求: CentOS 7.2 64 位操作系统 安装 Jenkins Jenkins 简介 Jenkins 是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提 ...

  7. 基于Docker搭建Maven私服Nexus,Nexus详解

    备注:首先在linux环境安装Java环境和Docker,私服需要的服务器性能和硬盘存储要高一点,内存不足可能到时启动失败,这里以4核8GLinux服务器做演示 一:基于Docker安装nexus3 ...

  8. 基于Centos搭建 Discuz 论坛

    系统要求:CentOS 6.8 64 位操作系统 搭建 Discuz 论坛 准备 LAMP 环境 LAMP 是 Linux.Apache.MySQL 和 PHP 的缩写,是 Discuz 论坛系统依赖 ...

  9. 基于Centos搭建Django 环境搭建

    CentOS 7.2 64 位操作系统 安装 Django 先安装 PIP,再通过 PIP 安装 Django 安装 PIP cd /data; mkdir tmp; cd tmp; wget htt ...

随机推荐

  1. Android Strings.xml To CSV / Excel互转

    Android Strings.xml To CSV/Excel互转https://blog.csdn.net/hzxpyjq/article/details/50686983https://blog ...

  2. [转] 理解Web路由

    1. 什么是路由 在Web开发过程中,经常会遇到『路由』的概念.那么,到底什么是路由?简单来说,路由就是URL到函数的映射. 2. router和route的区别 route就是一条路由,它将一个UR ...

  3. POJ 3187【permutation】

    POJ 3187 给定N值,从而确定了数据的范围及长度,暴力枚举数列,接下来类似杨辉三角的递推计算.注permutation从递增有序数列开始枚举,枚举到符合sum值时退出即可 #include &l ...

  4. BZOJ3514 Codechef MARCH14 GERALD07加强版 LCT

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ3514 题意概括 N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数. N ...

  5. BZOJ1787 [Ahoi2008]Meet 紧急集合 LCA

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1787 题意概括 有一棵节点为n个(n≤500000)的树.接下来m次询问(m≤500000),每次 ...

  6. BZOJ4993 [Usaco2017 Feb]Why Did the Cow Cross the Road II 动态规划 树状数组

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ4993 题意概括 有上下两行长度为 n 的数字序列 A 和序列 B,都是 1 到 n 的排列,若 a ...

  7. 【Java】 剑指offer(5) 从尾到头打印链表

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 输入一个链表的头结点,从尾到头反过来打印出每个结点的值.结点定义如下: ...

  8. Python 豆瓣源

    国内的pythoner强烈建议使用豆瓣的pypi源 https://pypi.douban.com/simple/ sudo pip install -i https://pypi.douban.co ...

  9. cglib动态代理导致注解丢失问题及如何修改注解允许被继承

    现象 SOAService这个bean先后经过两个BeanPostProcessor,会发现代理之后注解就丢失了. 开启了cglib代理 @SpringBootApplication @EnableA ...

  10. Nuxt.js 如何在 asyncData中 请求数据 ,并将拿到的数据传给子组件

    说明:同接口请求一样,也可以进行数据的处理:return  中 左侧的变量  可以直接拿到在页面上使用,也可以传递给子组件 下面再给出一段代码,方便觉得有用的.却又不想手敲的朋友们: async as ...