Ubuntu环境下使用Maven编译并打包Java项目
一、安装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,则下载:
然后执行一下步骤:
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常用命令。
参考文献:
Ubuntu环境下使用Maven编译并打包Java项目的更多相关文章
- ubuntu环境下nginx的编译安装以及相关设置
一.基本的编译与安装 1.安装依赖项 sudo apt-get update sudo apt-get install build-essential zlib1g-dev libpcre3 libp ...
- 通过DOS、SHELL批处理命令加载Lib并编译和打包Java项目(或者运行项目)
有些时候,需要通过DOS批处理来编译整个项目的JAVA文件:并且编译后还要对Class文件进行打包成jar文件...这还不是最烦的,最烦的是,编译和打包的时候需要依赖其他多个jar文件,困难就这么来了 ...
- Ubuntu环境下使用npm编译从git上clone下来的前端(Javascript)项目
一.更新Ubuntu软件源 打开终端依次输入: $ sudo apt-get update $ sudo apt-get install -y python-software-properties s ...
- Ubuntu环境下利用ant编译nutch2.2.1 & 配置nutch2.2.1
/×××××××××××××××××××××××××××××××××××××××××/ Author:xxx0624 HomePage:http://www.cnblogs.com/xxx0624/ ...
- maven编译或者打包web项目显示“软件包 javax.servlet.http 不存在"
2.解决办法: 这是由于缺少servlet-api.jar包,其实tomcat下有,但是在java build path把他加载过来,还是报这个错误,所以我们直接在pom.xml里面加入这个jar包即 ...
- Ubuntu环境下Error: Invalid or corrupt jarfile xxx.jar
一.问题描述 Ubuntu环境下将Maven项目打包成jar包后,运行一下指令: $ java -jar my.jar 发生错误: Error: Invalid or corrupt jarfile ...
- ubuntu 环境下的QT程序打包
很多的时候 需要将自己写的QT 程序发布一下 所以今天教一下 怎么在ubuntu 环境下将自己的写的Qt 程序打包打包是为了不依赖 开发环境 和开发的库. 1. QtCreate使用Release版 ...
- iOS系统提供开发环境下命令行编译工具:xcodebuild
iOS系统提供开发环境下命令行编译工具:xcodebuild[3] xcodebuild 在介绍xcodebuild之前,需要先弄清楚一些在XCode环境下的一些概念[4]: Workspace:简单 ...
- Ubuntu server下搭建Maven私服Nexus
Ubuntu server下搭建Maven私服Nexus Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用. 1.下载 通过root用户进去Ubuntu ...
随机推荐
- Android中的APK,TASK,PROCESS,USERID之间的关系
开发Android已经有一段时间了,今天接触到底层的东西,所以对于进程,用户的id以及Android中的Task,Apk之间的关系,要做一个研究,下面就是研究结果: apk一般占一个dalvik,一个 ...
- sqoop的导入|Hive|Hbase
导入数据(集群为对象) 在Sqoop中“导入”概念指:从非大数据集群(RDBMS)向大数据集群(HDFS,HIVE,HBASE)中传输数据,叫做:导入,即使用import关键字. 1 RDBMS到HD ...
- hive的复合数据类型
hive中的复合数据类型 Array array中的数据为相同类型,例如,假如array A中元素['a','b','c'],则A[1]的值为'b' 数据结构如下: zhangsan beijing, ...
- NX二次开发-打开弹出当前part所在的文件夹
#include <uf.h> #include <uf_part.h> #include <atlstr.h> #include <iostream> ...
- Comparison of FastText and Word2Vec
Comparison of FastText and Word2Vec Facebook Research open sourced a great project yesterday - fas ...
- Git及github使用(二)上传项目
接上篇中创建好的项目. 1.进入到相应的目录右键Git bash here打开客户端 2.创建一个readme文本 $ echo "# Python日常记录积累" >> ...
- cv2.imwrite()指定图片存储路径
cv2.imwrite("./data/photo_{}.jpg".format(i), photo)
- Mysql 插入数据,随机事件选择
在拼写sql的 时候,mysql字段如果需要添加当前时间可以用NOW() 函数 // String sql = ("insert into tablename(content, create ...
- 5-Python操作MySQL步骤
1.引入模块 在py文件中引入pymysql模块 from pymysql import *(connect) 2.创建connection连接对象 conn=connect(参数列表) 参数host ...
- UVA 11178 /// 向量旋转 两向量夹角
题目大意: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_proble ...