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 ...
随机推荐
- string替换所有指定字符串(C++)【转载】
转载自https://blog.csdn.net/a_222850215/article/details/79985504 C++的string提供了replace方法来实现字符串的替换,但是对于将字 ...
- pandas 使用dataframe 索引项相同时出现bug
使用的是join函数来合并两个dataframe: df=df2.join(df1) bug:columns overlap but no suffix specified: Index([u'muk ...
- de4Dot用法 解决 .net程序 reflecter反编译 “索引超出了数组界限”问题
de4Dot 反混淆工具.当你反编译 .net写的dll 或exe时出现:索引超出了数组界限 问题时 可以去网上下这个工具,通过cmd命令 打开de4dot的exe 空格 dll的全路径. 这样 :D ...
- .net 超链接传值,传过去始终是null
今天做了一个删除功能,通过点击列表中的删除超链接,通过get请求,跳转到一个处理程序执行删除操作 . 因为不熟悉各种报错 , <%="<td> <a class='d ...
- 应用Dubbo框架打造仿猫眼项目 理解微服务核心思想
1:传统应用带来的问题 单一业务开发的迭代问题 扩容困难 部署回滚困难2:微服务概述 微服务是一种将业务系统进一步拆分的架构风格 ...
- OC开发系列-类与对象
面向对象 面向对象思想是一种解决问题的思想, 不在是面向过程的去思考问题怎样解决.面向对象解决问题时首先要考虑需要找几个对象能解决这个问题. 常见的概念: * Object Oriented 面向对象 ...
- Windows服务调试状态下用Console启动
最近一直在用服务,发现服务也没有那么难调试. Windows服务调试状态下用Console启动:步骤分两步 第一步改Program,启动代码 static class Program { /// &l ...
- SVN Cannot merge into a working copy that has local modifications
我尝试了 主支,分支都提交,但是依然无法合并. 最终,我在服务器上将分支删除,然后主支在拷贝过去. 一,打开服务器资源 二,删除分支 三,拷贝主支到分支 四,刷新分支,就能看到了. 然后在分支项目中, ...
- linux 系统优化,调优
1.系统安装前的规则 a.分区:不同环境不同分法,按自己的需求来 以硬盘500G为例 /boot 100M-200M(只存放grub和启动相关文件,不存放其他) / 80G-100G (因为很多人默 ...
- Java中逗号运算符的使用
今天看到一道面试题,题目如下: 题目解释: 上面有一个类,有四个成员属性,以及两个构造方法(一个四个参数,一个两个参数),题目给出四个选项,问哪些选项可以满足在在四个参数的构造方法中完成x=a,y=b ...