linux中安装maven插件,Maven插件wagon
8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
通常情况下,进程开发完成后部署到线上Linux服务器,可能需要经历打包、将包文档传到服务器、SSH连上服务器、敲命令启动进程等一系列繁琐的步骤。实际上这些步骤都可以通过Maven的一个插件wagon-maven-plugin来自动完成。
文档上传到服务器
Maven项目可使用mvn package命令打包,打包完成后包位于target目录下,要想在远程服务器上部署,首先要将包上传到服务器。
在项目的pom.xml中配置wagon-maven-plugin插件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
org.apache.maven.wagon
wagon-ssh
2.8
org.codehaus.mojo
wagon-maven-plugin
1.0
target/test.jar
scp://user:[email protected]/home/xxg/Desktop
target/test.jar是要上传到服务器的文档,一般来说是jar或者war包,scp://user:[email protected]/home/xxg/Desktop配置服务器的用户、密码、地址以及文档上传的目录。
配置完成后,运行命令:
1mvn clean package wagon:upload-single
package、wagon:upload-single分别对项目进行打包和上传操作。命令运行结束后,文档就会成功上传到Linux服务器。
在服务器上执行Linux命令
部署项目不仅要把包传上服务器,而且还需要执行一些命令来启动进程。在进程启动之前,可能还需要将原来的进程关闭。
运行jar文档
启动jar包通常会使用java -jar test.jar命令,可以将命令配置在pom.xml中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
org.apache.maven.wagon
wagon-ssh
2.8
org.codehaus.mojo
wagon-maven-plugin
1.0
target/test.jar
scp://user:[email protected]/home/xxg/Desktop
pkill -f test.jar
nohup java -jar /home/xxg/Desktop/test.jar > /home/xxg/Desktop/nohup.out 2>&1 &
true
配置完成后,运行命令:
1mvn clean package wagon:upload-single wagon:sshexec
package、wagon:upload-single、wagon:sshexec分别对项目进行打包、上传、运行command命令的操作。命令运行结束后,在服务器上查看进程ps -ef|grep test.jar,或者查看nohup.out文档,就可以看到Java进程在服务器上已经启动。
上传war包并启动Tomcat
如果是Web应用,可使用服务器上的Tomcat来部署。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
org.apache.maven.wagon
wagon-ssh
2.8
org.codehaus.mojo
wagon-maven-plugin
1.0
target/javawebdeploy.war
scp://user:[email protected]/coder/tomcat/apache-tomcat-7.0.55/webapps
sh /coder/tomcat/apache-tomcat-7.0.55/bin/shutdown.sh
rm -rf /coder/tomcat/apache-tomcat-7.0.55/webapps/javawebdeploy
sh /coder/tomcat/apache-tomcat-7.0.55/bin/startup.sh
true
完成以上配置后,同样可通过mvn clean package wagon:upload-single wagon:sshexec命令自动部署。
配置execution
如果你觉得mvn clean package wagon:upload-single wagon:sshexec命令太长了不好记,那么可以配置execution,在运行package打包的同时运行upload-single和sshexec。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
org.apache.maven.wagon
wagon-ssh
2.8
org.codehaus.mojo
wagon-maven-plugin
1.0
upload-deploy
package
upload-single
sshexec
target/javawebdeploy.war
scp://user:[email protected]/coder/tomcat/apache-tomcat-7.0.55/webapps
sh /coder/tomcat/apache-tomcat-7.0.55/bin/shutdown.sh
rm -rf /coder/tomcat/apache-tomcat-7.0.55/webapps/javawebdeploy
sh /coder/tomcat/apache-tomcat-7.0.55/bin/startup.sh
true
配置完成后,即可使用mvn clean package来代替mvn clean package wagon:upload-single wagon:sshexec。
linux中安装maven插件,Maven插件wagon相关推荐
- Ubuntu中安装Eclipse的SVN插件——subclipse
Ubuntu中安装Eclipse的SVN插件--subclipse (2010-07-01 18:38) 分类: Linux 安装好Eclipse以后 进入菜单Help->Install new ...
- Linux环境安装并配置Maven
一.Linux环境安装并配置Maven 1. 进入官网下载Tomat安装包 2. 解压安装Tomcat 3. 配置可执行权限 4. 配置可执行端口(避免端口冲突) 5. 验证Tomcat是否可以正常启 ...
- MyEclipse 10 中安装Android ADT 22插件的方法
MyEclipse 10 中安装Android ADT 22插件的方法 下载ADT包:http://dl.google.com/android/ADT-22.0.0.zip 将ADT-22.0.0.z ...
- 怎么在linux卸载mysql,在linux中安装和卸载mysql
[安装] 已经获取到linux版本的mysql安装包,包括mysql的server(服务端)和client(客户端)的安装包,假设安装包为: MySQL-server-5.0.22-0.i386.rp ...
- Redis+在Linux中安装使用
Redis+在Linux中安装使用 一.安装 (一).上传redis安装包 (二).进入到rpmgcc文件下 (三).解压redis-3.2.5.tar.gz (四).启动redis 二.Redis概 ...
- shell中竖线的作用_如何在 Linux 中安装、配置和使用 Fish Shell?
每个 Linux 管理员都可能听到过 shell 这个词.你知道什么是 shell 吗? 你知道 shell 在 Linux 中的作用是什么吗? Linux 中有多少个 shell 可用? -- Ma ...
- caffe-gpu ubuntu 安装_如何在Linux中安装vnStat和vnStati监视网络流量
VnStat是针对Linux和BSD的基于控制台的网络流量监视工具设计.它将保留所选网络接口的网络流量日志.为了生成日志,vnStat使用内核提供的信息. 换句话说,它不会嗅探网络流量,并且可以确保系 ...
- linux mysql授权外部访问权限,Linux中安装Mysql授权远程访问
Linux中安装MySQL 因为使用yum安装.安装过程需保证网络通畅 一.安装mysql 1.yum安装mysqlCentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql, ...
- ubuntu 安装yum_如何在 Linux 中安装微软的 .NET Core SDK | Linux 中国
本分步操作指南文章解释了如何在 Linux 中安装 .NET Core SDK 以及如何使用 .NET 开发出第一个应用程序.-- Sk致谢译自 | ostechnix.com 作者 | Sk译者 | ...
- linux内核如何安装vim,如何在Linux 中安装和使用 PacVim?
描述 你好,Vim用户!今天,我偶然发现了一个很酷的程序来提高 Vim 的使用技巧.Vim 是编写和编辑代码的绝佳编辑器.然而,你们中的一些人(包括我)仍在陡峭的学习曲线中挣扎.再也不用了!来看看 P ...
最新文章
- 全面理解Python中的类型提示(Type Hints)
- 人工智能的时代?未来已至?
- 面试高频题:springboot自动装配的原理你能说出来吗?
- C Primer Plus 第8章 字符输入/输出和输入确认 8.11 编程练习答案
- kubunetes packages.cloud.google.com gpg:no valid OpenPGP data found
- Jibun 银行:一家纯网络银行,利用智能手机打开金融服务领域的新天地
- java解析魔兽争霸3录像_《魔兽争霸》的录像,为什么长达半小时的录像大小只有几百 KB?...
- 文档管理,PDF控件PDF-XChange PRO SDK
- Vue中点击复制文本功能
- python爬虫--从企查查获取所有上市公司列表保存至json
- 鸿蒙系统王维,以少总多,意余于象——王维《终南山》赏析
- 如何判断车与路边线距离_靠边停车如何判断车轮与马路牙子的距离?一个办法真的很简单...
- Python3.9,寻找质数,埃拉托色尼算法
- Go 使用 buger/jsonparser 优化反序列化性能
- VR插件:VR Interaction Framework 1.7(VRIF)(一)
- 2015华为暑期实习面试全过程
- Civil 纵断面 profile 标签样式ProfileLabelStyleSet 异常处理
- RS485使用Modbus原理
- 几种常用RAID的特性
- 顺丰快递单号查询接口物流路由跟踪信息快递鸟api对接教程