maven(17)-自动发布到远程linux服务器
2024-08-31 16:56:01
发布方式
手工方式:需要做一系列的工作,包括打WAR包,上传到服务器,重启服务器,删除旧文件等
自动方式:一条命令完成以上所有过程
服务器环境
centos7.3和tomcat8,关于centos的应用,涉及LINUX方面的知识以后有机会再讲,这里假设已经在centos上部署好了tomcat
pom.xml
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.10</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<fromFile>target/test-1.0.war</fromFile>
<toFile>test.war</toFile>
<url>scp://wb:123@192.168.150.128/home/wb/pro/tomcat/webapps</url>
<commands>
<command>/home/wb/pro/tomcat/bin/shutdown.sh</command>
<command>rm -rf /home/wb/pro/tomcat/webapps/test</command>
<command>/home/wb/pro/tomcat/bin/startup.sh</command>
</commands>
<displayCommandOutputs>true</displayCommandOutputs>
</configuration>
</plugin>
</plugins>
<extensions>:是maven扩展构件
wagon-maven-plugin:是自动上传的插件
<fromFile>:需要发布的本地文件名
<toFile>:发布到服务器后的文件名
<url>:协议://centos用户名:密码@服务器IP/tomcat的webapps目录,这是url的基本格式,发布到远程tomcat的webapps下
<commands>:按顺序执行linux命令,第一条是关闭tomcat,第二条是删除旧项目文件,第三条是启动 tomcat。
<displayCommandOutputs>:true是显示命令执行结果
执行命令
在eclipse中右键项目--运行方式--maven build...--goals中输入 package wagon:upload-single wagon:sshexec,运行,运行过程中可能会需要你输入一个yes--回车
这个命令的意思
package:打war包
wagon:upload-single:上传war包到pom.xml中的url,会自动覆盖url中旧的war包
wagon:sshexec:执行<commands>中的命令
执行结果:将本地修改过的项目代码,通过插件配置,自动打成WAR包上传到服务器,自动删除旧项目,自动重启tomcat
最新文章
- BLAST套件
- 《Entity Framework 6 Recipes》中文翻译系列 (31) ------ 第六章 继承与建模高级应用之自引用关联
- systemd
- 第一百九十六天 how can I 坚持
- Hadoop: the definitive guide 第三版 拾遗 第十二章 之Hive初步
- Python Tutorial 学习(五)--Data Structures
- poj 3273 Monthly Expence 简单二分
- Spring第三天
- IDEA 编译等级与源代码等级不一致问题
- 远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
- 20175226 2018-2019-2 《Java程序设计》第六周学习总结
- iOS----------检测app进入后台或前台
- URLSearchParams和axios的post请求(防忘记)
- ANT入门&;用ANT编译java项目
- CPU对指令长度的判断
- Java中的Graphics2D类基本使用教程
- Reflector_8.3.0.93_安装文件及破解工具
- ABP框架入门踩坑-配置User Secrets
- translate 与 相对、绝对定位
- pgm转jpg
热门文章
- Redis之数据类型Sting字符串
- 深入理解java集合框架之---------HashTable集合
- Java对zip格式压缩和解压缩
- php能力自测
- 【LeetCode题解】20_有效的括号(Valid-Parentheses)
- ora-01747:因为表中存在关键字造成的
- mklink /d 目录符号链接
- AutoResetEvent和ManualResetEvent理解
- synchronized同步锁
- [转] 如何应用设计模式设计你的足球引擎(一和二)----Design Football Game(Part I and II)