一、安装Maven

打开终端输入以下指令:

 $ mvn -v

 Apache Maven 3.3.
Maven home: /usr/share/maven
Java version: 1.8.0_181, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java--oracle/jre
Default locale: zh_CN, platform encoding: UTF-
OS name: "linux", version: "4.4.0-36-generic", arch: "amd64", family: "unix"

若系统内有Maven则会显示当前Maven的版本和Java的版本。

若没有安装Java或者安装Java的版本和种类(注意:openjdk和oracle是两种Java jdk,切忌搞混)不对,则需要到通过:

 $ sudo apt-get install  XXXXX

或者官网下载对应的tar.gz包来安装。

若没有安装Maven,则下载:

apache-maven-3.3.9.bin.tar.gz

然后执行一下步骤:

1、解压到HOME对应的用户目录下(也可以解压到其他系统目录,但是HOME目录下权限需求低,操作更加方便)

 $ tar zxvf apache-maven-3.3..bin.tar.gz -C ~

2、在/etc/profile下添加环境变量

建立Maven的HOME目录变量:

 $ export M2_HOME=/home/username/apache-maven-3.3.

其中username为home路径下本机用户名。

M2_HOME这个路径可以根据Maven的存放位置而变动。

将Maven的bin目录添加到path路径:

 $ PATH=$M2_HOME/bin:$PATH

3、重新启动系统,或者在终端下输入以下指令启用环境变量:

 $ source /etc/profile

4、验证环境变量是否存在:

 $ echo $M2_HOME

 $ echo $PATH

5、再次验证mvn版本:

 $ mvn -v

若有需求可以通过以下方法修改Maven本地仓库的位置:

终端内输入以下指令:

 $ gedit $M2_HOME/conf/settings.xml

打开对应的文本编辑器,通过crtl-f指令定位到localRepository的位置,在其下面添加一行地址即可,例子为:

 <localRepository>/home/username/Documents/Program/maven_localRepository</localRepository>

这里将本地仓库定位到了home路径下用户名为username中的/Documents/Program/maven_localRepository之中。

不修改配置的话,下载的文件都会保存到本地仓库~/.m2/repositoryMaven中。

二、获取Maven项目

若已有别人的Maven项目,可以直接下载或者git clone到本地即可。

若没有别人的Maven项目,推荐使用IntelliJ IDE来创建Maven项目,对于新手而言方便快捷,可以参考这篇文章:使用Intellij IDE创建Maven项目

但是很多项目有很复杂的环境以及参数配置,这时候就需要用到Maven命令行创建项目,由于过程复杂,这里便不再介绍。

三、使用Maven编译打包Java项目

打开Maven项目根目录,运行以下指令:

 $ mvn -U clean package

其中-U参数为强制更新依赖包,clean指令意为清空缓存文件,package指令意为生成target目录,编译、测试代码,生成测试报告,生成jar/war文件。

要把项目部署到生产环境中最好执行这三个指令以避免错误产生。

详细的Maven命令行指令可以参考这篇文章:MAVEN常用命令

参考文献:

1、Ubuntu下Maven安装和使用

2、MAVEN常用命令

3、使用Intellij IDE创建Maven项目

Ubuntu环境下使用Maven编译并打包Java项目的更多相关文章

  1. ubuntu环境下nginx的编译安装以及相关设置

    一.基本的编译与安装 1.安装依赖项 sudo apt-get update sudo apt-get install build-essential zlib1g-dev libpcre3 libp ...

  2. 通过DOS、SHELL批处理命令加载Lib并编译和打包Java项目(或者运行项目)

    有些时候,需要通过DOS批处理来编译整个项目的JAVA文件:并且编译后还要对Class文件进行打包成jar文件...这还不是最烦的,最烦的是,编译和打包的时候需要依赖其他多个jar文件,困难就这么来了 ...

  3. Ubuntu环境下使用npm编译从git上clone下来的前端(Javascript)项目

    一.更新Ubuntu软件源 打开终端依次输入: $ sudo apt-get update $ sudo apt-get install -y python-software-properties s ...

  4. Ubuntu环境下利用ant编译nutch2.2.1 & 配置nutch2.2.1

    /×××××××××××××××××××××××××××××××××××××××××/ Author:xxx0624 HomePage:http://www.cnblogs.com/xxx0624/ ...

  5. maven编译或者打包web项目显示“软件包 javax.servlet.http 不存在"

    2.解决办法: 这是由于缺少servlet-api.jar包,其实tomcat下有,但是在java build path把他加载过来,还是报这个错误,所以我们直接在pom.xml里面加入这个jar包即 ...

  6. Ubuntu环境下Error: Invalid or corrupt jarfile xxx.jar

    一.问题描述 Ubuntu环境下将Maven项目打包成jar包后,运行一下指令: $ java -jar my.jar 发生错误: Error: Invalid or corrupt jarfile ...

  7. ubuntu 环境下的QT程序打包

    很多的时候 需要将自己写的QT 程序发布一下  所以今天教一下 怎么在ubuntu 环境下将自己的写的Qt 程序打包打包是为了不依赖 开发环境 和开发的库. 1. QtCreate使用Release版 ...

  8. iOS系统提供开发环境下命令行编译工具:xcodebuild

    iOS系统提供开发环境下命令行编译工具:xcodebuild[3] xcodebuild 在介绍xcodebuild之前,需要先弄清楚一些在XCode环境下的一些概念[4]: Workspace:简单 ...

  9. Ubuntu server下搭建Maven私服Nexus

    Ubuntu server下搭建Maven私服Nexus Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用. 1.下载 通过root用户进去Ubuntu ...

随机推荐

  1. 一句话下载总结(用于后渗透上传payload)

    利用ftp来下载payload文件 echo open 192.168.1.1 21> ftp.txt echo ftp>> ftp.txt echo bin >> ft ...

  2. NX二次开发-相对路径环境变量和绝对路径环境变量

    相对路径环境变量:${UGII_BASE_DIR}\CaesarToolkits 绝对路径环境变量:D:\Program Files\Siemens\NX 9.0\CaesarToolkits

  3. VS开发工具的常用插件【转载】

    文章转载自https://www.cnblogs.com/huntergu/p/8337266.html

  4. CPUID 指令的使用

    使用 CPUID 指令可以从 processor 厂商里获得关于 processor 的详细信息,CPUID 指令是从 Intel 486 处理器以后开始加入支持. 1. 检测处理器是否支持 cpui ...

  5. MySQL数据库中,将一个字段的值分割成多条数据显示

    本文主要记录如何在MySQL数据库中,将一个字符串分割成多条数据显示. 外键有时是以字符串的形式存储,例如 12,13,14 这种,如果以这种形式存储,则不能直接与其他表关联查询,此时就需要将该字段的 ...

  6. Adobe Fireworks CS6 win64的安装

    网页三大剑客之一    FW的安装 本人也是找了半天才找到的. (没有视频)这里先感谢原帖给我的链接https://blog.csdn.net/qq_38053395/article/details/ ...

  7. Eclipse+Maven创建webapp项目 及部署在tomcat上

    1.开启eclipse,右键new——>other,如下图找到maven project 2.选择maven project,显示创建maven项目的窗口,勾选如图所示,Create a sim ...

  8. HDFS API 操作实例(二) 目录操作

    1. 递归读取文件名 1.1 递归实现读取文件名(scala + listFiles) /** * 实现:listFiles方法 * 迭代列出文件夹下的文件,只能列出文件 * 通过fs的listFil ...

  9. 当class有多个class属性时截取操作

    这里是实现以个输入对应的页码就跳转,没有或者为字符情况下弹出不存在对应页面 这里难点就是有currentPage的class属性的截取 $(document).on("click" ...

  10. Spring源码分析(一):从哪里开始看spring源码(系列文章基于Spring5.0)

    概述 对于大多数第一次看spring源码的人来说,都会感觉不知从哪开始看起,因为spring项目源码由多个子项目组成,如spring-beans,spring-context,spring-core, ...