码迷,mamicode.com
首页 > 编程语言 > 详细

shell运行java程序,实现快速开发部署

时间:2019-08-29 20:23:27      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:开发   star   bug   com   服务器端   pre   学习笔记   awk   上传   

一、概述

  在实际开发中,我们写好的代码,往往打成war包或jar包,通过winscp或其他软件将其上传至服务器,然而这样非常大的一个弊端就是不利于开发,为什么这么说呢?假如我们刚刚将springboot项目达jar包通过winscp部署在linux系统中,然而各种突如其来、意想不到的bug接踵而来,你在本地测试调试bug,难道你要一次又一次的打jar包,上传至服务器?我想你会疯了吧,哈哈,言归正传。

  运行java项目的本质,就是让jvm运行.class文件(纯属个人理解,意思你懂就好),所以我们为何不尝试直接将本地classes目录与服务器关联呢,这样直接上传我们调试修改的.class文件即可,而强大的IDEA工具可以帮我们将本地classes文件与服务器的classes关联映射,这样更是方便了我们开发。这里可以参考:IDEA自动部署WEB工程至远程服务器(学习笔记)将本地classes关联映射服务器的对应目录。

二、测试准备

  ①使用IDEA将本地class与远程服务器的classes目录做关联映射(IDEA自动部署WEB工程至远程服务器(学习笔记)

  ②编写shell脚本运行java程序

三、正式测试

  服务器端做如下规划:

  技术图片

  客户端IDEA只需要配置好目录关联映射即可:(IDEA自动部署WEB工程至远程服务器(学习笔记))当然,也可以通过手动将本地classes、依赖包lib

①准备对应目录

  技术图片

 

 ②准备SpringBoot项目

技术图片

 

 ③本地classes目录与服务器的目录做关联映射

第一步:按照如下步骤配置

  技术图片

 

 第二步:

  技术图片

 

 第三步:

  技术图片

 

 第四步:

  技术图片

 

 最后一步:将整个classes目录上传至服务器

  技术图片

 

 ④上传工程依赖lib至对应的文件

⑤编写shell脚本启动该程序

技术图片
#!/bin/bash
#测试程序 运行脚本

#jdk路径
JAVA_HOME="/home/software/jdk1.8"

#项目的根目录
APP_HOME="/home/app/test"

#pid的输出目录
PIDFILE="${APP_HOME}/Application.pid"

#指定class目录
CLASSPATH=$APP_HOME/bin

for i in $APP_HOME/lib/*.jar;do
        CLASSPATH="$CLASSPATH":"$i"
done

echo ${CLASSPATH}
MAINCLASS="com.test.demo.DemoApplication"

#后台运行程序
#nohup $JAVA_HOME/bin/java -classpath $CLASSPATH  $MAINCLASS&

#运行java程序
$JAVA_HOME/bin/java -classpath $CLASSPATH  $MAINCLASS

#将进程id写入文件
ps -ef | grep "Application" |grep -v grep|awk ‘{print $2}‘>${PIDFILE}
View Code

⑥通过shell脚本启动该程序:sh start.sh

技术图片

 

⑦通过浏览器访问:192.168.229.128:8080/test?name=张三(这里确保服务器的8080端口开放) 

技术图片

 

当我们添加某个类或者修改某个些配置文件的时候,无需进行重新打包、上传服务器等这么麻烦的步骤了,我们只需将添加的class通过IDEA上传即可完成快速部署!

例如:我们新增一个类:TestController,只需要将对应的class提交至服务器即可完成部署!

技术图片

 

 将对应class提交至服务器!

技术图片

 至此,我们通过shell脚本运行java程序已经完成!

shell运行java程序,实现快速开发部署

标签:开发   star   bug   com   服务器端   pre   学习笔记   awk   上传   

原文地址:https://www.cnblogs.com/rmxd/p/11431621.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!