博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用wagon-maven-plugin部署Java项目到远程服务器
阅读量:6160 次
发布时间:2019-06-21

本文共 4716 字,大约阅读时间需要 15 分钟。

在项目开发过程中,经常需要部署代码到开发环境,每天可能有好多次,每次都需要mvn clean install,然后上传到服务器。实际上这些繁琐的步骤可以通过一个Maven插件来自动完成。

配置Linux服务器用户名和密码

为了让wagon-maven-plugin插件能SSH连上Linux服务器,首先需要在Maven的配置文件settings.xml中配置好server的用户名和密码。

linux-server-dev
root
123456

文件上传到服务器

Maven项目可使用 mvn package 指令打包,打包完成后包位于target目录下,要想在远程服务器上部署,首先要将包上传到服务器。在项目的pom.xml中配置wagon-maven-plugin插件:

org.apache.maven.wagon
wagon-ssh
2.8
org.codehaus.mojo
wagon-maven-plugin
1.0
linux-server-dev
target/project_name.jar
scp://192.168.1.1/home/project_name/

配置完成后,运行命令:mvn clean package wagon:upload-single

重启服务

部署项目不仅要把包传上服务器,而且还需要执行一些指令来重启服务。通常我们会把重启命令写入到一个脚本中,然后通过执行脚本来重启服务。

新建 restart.sh 文件,一般把改文件放在当前项目下,因为每个项目的启动脚本都不一样

#!/bin/bashps -ef | grep a8admin | grep qa |awk '{print $2}' |xargs kill -9sleep 1nohup java -jar -Dspring.profiles.active=qa -Dserver.port=8083 a8admin-api-1.0-RELEASE.jar >> 8083.log 2>&1 &tail -f 8083.log
org.apache.maven.wagon
wagon-ssh
2.8
org.codehaus.mojo
wagon-maven-plugin
1.0
linux-server-dev
target/project_name.jar
scp://192.168.20.128/home/project_name/
sh ./restart.sh
true

配置完成后,运行命令:mvn clean package wagon:upload-single wagon:sshexec

上传war包并启动Tomcat

如果是Web应用,可使用服务器上的Tomcat来部署。

org.apache.maven.wagon
wagon-ssh
2.8
org.codehaus.mojo
wagon-maven-plugin
1.0
linux-server-dev
target/project_name.war
scp://192.168.20.128/home/project_name/
sh /home/tomcat/apache-tomcat-7.0.55/bin/shutdown.sh
rm -rf /home/tomcat/apache-tomcat-7.0.55/webapps/javawebdeploy
sh /home/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。

org.apache.maven.wagon
wagon-ssh
2.8
org.codehaus.mojo
wagon-maven-plugin
1.0
upload-deploy
package
upload-single
sshexec
linux-server-dev
target/project_name.war
scp://192.168.20.128/home/tomcat/apache-tomcat-7.0.55/webapps
sh /home/tomcat/apache-tomcat-7.0.55/bin/shutdown.sh
rm -rf /home/tomcat/apache-tomcat-7.0.55/webapps/javawebdeploy
sh /home/tomcat/apache-tomcat-7.0.55/bin/startup.sh
true

配置完成后,即可使用 mvn clean package 来代替 mvn clean package wagon:upload-single wagon:sshexec


欢迎订阅「K叔区块链」 - 专注于区块链技术学习
博客地址:
简书主页:
segmentfault主页:
腾讯云主页:

转载地址:http://ybofa.baihongyu.com/

你可能感兴趣的文章
PowerDesigner中CDM和PDM如何定义外键关系
查看>>
跨域-学习笔记
查看>>
the assignment of reading paper
查看>>
android apk 逆向中常用工具一览
查看>>
MyEclipse 报错 Errors running builder 'JavaScript Validator' on project......
查看>>
Skip List——跳表,一个高效的索引技术
查看>>
Yii2单元测试初探
查看>>
五、字典
查看>>
前端js之JavaScript
查看>>
Log4J日志配置详解
查看>>
实验7 BindService模拟通信
查看>>
scanf
查看>>
Socket编程注意接收缓冲区大小
查看>>
SpringMVC初写(五)拦截器
查看>>
检测oracle数据库坏块的方法
查看>>
SQL server 安装教程
查看>>
Linux下ftp和ssh详解
查看>>
跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击
查看>>
js时间和时间戳之间如何转换(汇总)
查看>>
js插件---图片懒加载echo.js结合 Amaze UI ScrollSpy 使用
查看>>