一、安装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. vue中利用scss实现整体换肤和字体大小设置

    一.前言 利用Sass预处理实现换肤和字体大小调整. 思路及达到的效果:字体大小的适配使用window.devicePixelRatio的值和需要调整的差量进行控制.页面初始化是的字体适配可以根据de ...

  2. 带你走进webpack世界,成为webpack头号玩家。

    最近朋友圈被<头号玩家>刷爆了,斯皮尔伯格一个资深电影导演,把对过去经典的致敬,对未来的憧憬浓缩在这一部电影中,可以说让观众燃了起来. 观望整个前端开发,不断的演化,发展迅速.前端开发从最 ...

  3. 解决方案-CRM:Vtiger CRM

    ylbtech-解决方案-CRM:Vtiger CRM vtiger CRM是一套基于Web以销售能力自动化(SFA)为主的客户关系管理系统(CRM).它基于是SugarCRM专业版(SPL1.1.2 ...

  4. 03root密码设置

  5. Harry and magic string HDU - 5157 记录不相交的回文串对数

    题意: 记录不相交的回文串对数 题解: 正着反着都来一遍回文树 用sum1[i] 表示到 i 位置,出现的回文串个数的前缀和 sun2[i]表示反着的个数 ans+=sum1[i-1]*sum2[i] ...

  6. LeetCode 67. Add Binary【个位补0,不必对齐】【easy】

    Given two binary strings, return their sum (also a binary string). The input strings are both non-em ...

  7. docker使用gitlab持续集成(1)

    修改ssh连接端口vi /etc/ssh/sshd_config 写docker-compose.yml文件配置gitlab version: '3' services: gitlab: image: ...

  8. 使用当前平台的 gcc 编译内核头文件

    [arm@localhost tchain3.4.4]#cd ${KERNEL} [arm@localhost kernel]#tar xvfz linux­2.6.14.1.tar.gz [arm@ ...

  9. postman连接不了localhost问题解决

    学习搭建服务器可用postman 连接不了localhost的端口 网上好多教程是这样连接 看完视频后我们是这样 找了大量资料都解决不了,什么版本,什么证书的都不好使,最简单的就是去掉http:// ...

  10. CSS3——过渡

    过渡(transition)是CSS3中具有颠覆性的特征之一,我们可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果. 帧动画:通过一帧 ...