zoukankan      html  css  js  c++  java
  • 基于Centos搭建Maven 安装与使用

    CentOS 7.2 64 位操作系统

    安装 Maven

    Maven 简介

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

    Java 安装

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

    yum -y install java-1.8.0-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.2-bin.tar.gz

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

    mv apache-maven-3.5.2 /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 安装与入门 的实验任务,您可以选择 留用 继续使用该环境。

  • 相关阅读:
    进程池,线程池,协程,gevent模块,协程实现单线程服务端与多线程客户端通信,IO模型
    线程相关 GIL queue event 死锁与递归锁 信号量l
    生产者消费者模型 线程相关
    进程的开启方式 进程的join方法 进程间的内存隔离 其他相关方法 守护进程 互斥锁
    udp协议 及相关 利用tcp上传文件 socketserver服务
    socket套接字 tcp协议下的粘包处理
    常用模块的完善 random shutil shevle 三流 logging
    day 29 元类
    Django入门
    MySQL多表查询
  • 原文地址:https://www.cnblogs.com/jikexianfeng/p/8454644.html
Copyright © 2011-2022 走看看