java项目部署的shell脚本

Shell脚本自动化部署Java项目实战 Shell脚本是自动化和简化日常任务的一种强大工具。它是通过一系列命令行指令组合而成的文本文件,能够被Shell程序解释执行。在Linux环境下,常见的Shell包括bash、sh、csh等。bash作为最为广泛使用的Shell之一,因其强大的功能和灵活性而被推崇。我们还可以通过trap命令捕获脚本执行过程中的错误,并执行自定义的操作。# 故意执行一个错误命令false。 阅读详情
脚本内容:
#!/bin/bash
cd `pwd`

app_name="tt"

start() {
    source /etc/profile
    status >/dev/null
    if [[ $? -eq 0 ]]; then
        echo "ERR. already running..."
        return 1
    fi
    nohup java -Xmx512m -Xms256m -jar $1 --logging.config=$2 2>&1>/dev/null &
}

stop() {
    status >/dev/null
    if [[ $? -eq 0 ]]; then
        read -r -p "Are you sure to stop this process?Y/N" input

        if [[ ${input} == "Y" ]]; then
            ps -ef | grep $app_name | grep -v grep | awk '{print $2}' | xargs -I {} kill  {}
            echo "stoped"
        else
            echo "you canceled stop operation."
        fi
    else
        echo "stop err. not run."
    fi
}

status() {
    n=`ps -ef | grep $app_name | grep -v grep | wc -l`
    if [[ $n -eq 1 ]]; then
        echo "running"
        return 0
    else
        echo "precess num is ${n}. not run or run too much"
        return 1
    fi
}

case $1 in
    "start")
        start $2 $3
        ;;
    "stop")
        stop
        ;;
    "status")
        status
        ;;
    *)
        echo "ERR. USE: $0 start \${jar_name} \${conf_file}|status|stop"
esac
启动命令:
./app.sh start xxx.jar logback-spring.xml
停止命令:
./app.sh stop
电路设计仿真软件:Mentor Graphics_(1).MentorGraphics电路设计仿真软件概述 菜单栏:包含文件、编辑、视图、工具等菜单。工具栏:提供常用的工具按钮,如打开、保存、仿真等。原理图编辑区:用于绘制电路原理图。元件库:包含各种电路元件,支持拖拽操作。属性面板:显示选中元件的属性,可以进行参数设置。仿真控制区:用于设置仿真参数和控制仿真过程。输出窗口:显示仿真结果和日志信息。打开模型编辑器:点击“工具”菜单,选择“模型编辑器”。选择模型类型:在模型编辑器中选择模型类型,如SPICE模型。输入模型参数:根据需要输入模型的参数,如电阻值、电容值等。保存模型。 阅读详情

相关推荐

汽车电子电气架构诊断功能开发全流程解析

文章作者是一位在魔都工作的汽车电子工程师,坚持长期主义,并分享了一段关于“钝感力”的文字,强调面对困境的韧劲和耐力,以及不被外界噪音干扰的重要性。文章详细介绍了汽车电子电气架构(EEA)的诊断功能开发流程,涵盖设计、实现、生产、运维及售后五大环节。作者从技术实现维度展开,详细描述了诊断系统架构设计、供应商功能实现、产线集成与标定、云端数据交互以及售后诊断应用场景。文章还总结了技术演进趋势,包括AI融合、OTA 2.0和区块链应用等,强调了标准化协议与工具链在全链路诊断能力中的重要性。最后,作者鼓励读者相信时

Soly_kun的博客 1220

nohup 后台运行命令

阅读目录 nohup 案例 nohup和&的区别 参考链接

muzi_since的博客 1033

Pika Labs vs Runway ML:零基础小白如何选择最适合自己的AI视频生成工具?

本文详细对比了Pika Labs和Runway ML两款AI视频生成工具,从操作界面、生成效果、隐藏成本、工作流适配性和未来兼容性五个维度进行分析。Pika Labs适合零基础用户快速生成社交媒体短内容,而Runway ML则更适合专业级视频制作。帮助用户根据自身需求选择最适合的AI视频生成工具。

wood5的博客 603

【java】Linux使用nohup命令启动sh shell 脚本,java程序无限循环启动问题。解决方案

一·背景 项目使用spring boot 搭建。在Linux操作系统使用nohup命令启动sh shell 脚本,程序无限循环启动,只要是 让程序在后台启动 都会无限循环启动(程序本来应该启动完毕的,但是从日志上看程序又再次启动了一遍,无限循环,而且程序也无法正常访问) 二·解决方案 不使用sh文件 启动。 把项目打成war包形式,使用java -jar 方式启动项目。 nohup ja

而浮生若梦,为欢几何 6645

四大AI编程工具深度对比:Claude Code、Codex、OpenCode与WorkBuddy选型指南

AI编程助手正从代码补全走向自主执行的智能体形态,其核心原理是通过“规划-执行-观察”循环让模型自主完成文件修改、命令运行与错误修复。这类工具的技术价值在于提升长任务连续性与上下文理解能力,同时通过自定义指令与技能机制沉淀团队规范,适应不同工程场景。在实际选型中,开发者常面临终端CLI与图形化工作台、模型开放程度与绑定生态之间的权衡:Claude Code强调深度Agent体验,Codex支持灵活接入OpenAI兼容模型,OpenCode以开源多模型见长,WorkBuddy则提供全流程集成环境。本文基于真实

weixin_42526166的博客 137

基于matlab的CNN食物识别分类系统,matlab深度学习分类,训练+数据集+界面

饮食在人们的日常生活、营养与医疗建议以及运动员等专业人士的训练上起着越来越重要的作用。随着互联网的发展和医学的进步,人们普遍上传分享和记录的食物图像形成了非常多的数据库,为了改善饮食结构,塑造更健康的生活方式,分析食物的种类、热量和进食时间成为了营养学上非常重要的研究方法,本文的使用深度学习算法可以根据用户上传的食物图像自动分析食物种类。深度学习是机器学习领域的一个研究方向。深度学习通过对数据特征的学习将原始数据转化为计算机可以理解的抽象数据,根据学习到的特征,可以对原始数据进行检测或分类。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 4724

java程序中执行shell脚本未执行完毕退出问题

java程序中执行shell脚本未执行完毕退出问题

qq_37782946的博客 742

从 SOAUTH2 到系统用户,SAP AS ABAP 里配置 OAuth 2.0 Client 的完整落地思路

SAP OAuth 2.0客户端配置的核心在于建立系统级信任关系。在AS ABAP中,每个OAuth 2.0客户端必须关联一个System类型的用户账号(通过SU01创建),并建议采用业务语义明确的命名规范(如ZBTP_PO_APPROVAL_APP)。关键配置包括:客户端认证方式(推荐SSL证书而非共享密钥)、Token生命周期(默认3600秒)、Scope访问范围,以及根据应用场景选择Authorization Code或SAML 2.0 Bearer等授权模式。项目实践中应避免混合配置不同授权类型,而

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 989

【码上起飞】JAVA中JAR包部署nohup后台启动定时按日期分割日志(小白教程)

日志分割,jar包部署,定时任务日志按照日期分割

weixin_44016938的博客 2824

[VT虚拟化驱动]正式启动VT

文章目录前言一、vmlaunch正式开始虚拟化二、使用步骤1.引入库2.读入数据总结 前言 本章开始真正实现一个最简单的VT框架,当然,只是能跑起来一个VT驱动了,没有并包括EPT,EPT后面再讲 提示:以下是本篇文章正文内容,下面案例可供参考 一、vmlaunch正式开始虚拟化 执行VMLAUNCH指令执行后,就正式进入虚拟化了,再该指令执行之前,得先保存Guest当前的环境,执行完VMLAUNCH后,要恢复Guest的环境,让Guest就像什么都没发生一样,所以需要保存和恢复Guest的各种寄存器的值

吾无法无天的博客 3663

设备接入与APP(应用程序)接入华为云iotDA平台的详细操作步骤及获取方式

设备及APP(应用程序) 登录 IoTDA 平台所需的 入场与操作清单内容,提供逐项详细操作步骤和获取方式,并穿插贴士便于理解与实际操作落地。内容基于 华为云 IoTDA 控制台 和 IAM 控制台 的实际使用路径整理。

hy行者勇哥的博客 3062

使用nohup命令编写shell脚本启动java应用,并使用外挂配置文件

nohup nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。 在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。 deploy.sh的内容 nohup java -Xms400m -Xmx400m -XX:NewSize=200m...

优快云_ss4018的博客 1050

【点云鸟瞰图BEV】点云鸟瞰图BEV原理与可视化

本节将介绍激光雷达等点云的鸟瞰图生成原理、代码及效果图。 1 BEV视图原理 点云BEV(Bird's Eye View)视图是指点云在垂直于高度方向的平面上的投影。通常,在获得bev视图前,会将空间分割成体素,利用体素对点云进行下采样,然后将每个体素作为一个点进行投影。体素是指将三维空间按照固定尺寸长方体进行划分时的长方体(Δl*Δw*Δh)。 体素投影时可以得到BEV视图的像素点坐标。每个像素点的特征取值则可以通过多种方式得到。 ...

叶子的博客 2万+

Docker容器部署Java项目的自动化脚本(Shell编写)

本文主要讲述如何将docker中部署Java项目的过程整合成shell脚本文件,并一键执行

感谢阅读 1102

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Shell脚本+git自动部署Java项目

使用shell自动部署java应用

烛照@123的博客 1208

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

JDeploy实战:如何用Shell脚本简化Java项目部署流程

本文详细介绍了如何使用JDeploy和Shell脚本简化Java项目部署流程,实现自动化部署。通过解析JDeploy的核心架构、实战环境搭建、项目部署全流程以及高级配置技巧,帮助开发者提升部署效率,减少人工操作错误。文章还涵盖了常见问题排查和安全最佳实践,为Java项目部署提供全面指导。

emacs5lisp的博客 457

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

脚本部署java的class_IDEA部署项目,并结合Shell脚本运行Java程序

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

weixin_28764661的博客 352

IDEA部署项目,并结合Shell脚本运行Java程序

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

517

shell脚本 java jar_Linux利用Shell脚本部署jar包项目的完整步骤

一.安装JDK查看电脑的操作位数:uname -ar2017 x86_64 x86_64 x86_64 GNU/Linux如果这里显示是64位的就下载相应64位的包下面开始正式的安装jdk1、上传jdk的安装包到 /rootjdk-8u131-linux-x64.tar.gz2、确认系统是否已经安装过jdkrpm -qa|grep jdkrpm -e --nodeps 软件名称 //如果检查到有安...

weixin_39742065的博客 509

JDeploy实战:如何用Shell脚本简化Java项目自动化部署

本文详细介绍了如何使用JDeploy结合Shell脚本实现Java项目的自动化部署。通过剖析JDeploy的Shell脚本设计精髓,提供从环境准备、平台部署到项目配置的实战教程,并分享日志管理、回滚机制等进阶技巧与避坑指南,帮助开发者显著提升部署效率与系统稳定性。

bean的博客 581

java 项目自动部署shell脚本

利用git,自动部署代码,预先要安装好tomcat,mysql,git,jdk。

weixin_45452920的博客 813

Java自动生成增量补丁自动部署_Shell脚本结合Git实现增量项目部署

小Hub领读:脚本代码这么多,不是运维可能会真不会写哈哈。普通人用jenkins全量挺好的,但是代码过多时候就比较麻烦,而且jenkins一般也要配合脚本使用更加符合业务。应用部署是开发、测试、上线必须面对的一个过程,尤其是微服务架构的出现,运维部署从单体的部署逐渐脱离出,并且越显复杂。然而,抛开多语言,多环境,集群,分布式的部署之外。就单单讨论增量部署和全量部署1.增量和全量部署部署,除却项目初...

weixin_39926311的博客 722

自动化部署java maven项目到多个目标主机的Shell脚本

本篇是《Linux Shell脚本之远程自动化部署java maven项目》的姊妹篇,但包含了bug、issue修正和添加了更多的支持特性,可以从GitHub上获取最新脚本内容:https://github.com/DingGuodong/AutomaticDeployJavaMavenProject 。自动化部署java maven项目到多个主机的环境条件假设:1.java maven项目至多有...

weixin_33766168的博客 192

git java 增量_Shell脚本结合Git实现增量项目部署

应用部署是开发、测试、上线必须面对的一个过程,尤其是微服务架构的出现,运维部署从单体的部署逐渐脱离出,并且越显复杂。然而,抛开多语言,多环境,集群,分布式的部署之外。就单单讨论增量部署和全量部署1. 增量和全量部署部署,除却项目初始化部署,最理想的情况即为: 新版本更改哪些内容则更新哪些内容1.1 增量部署1.1.1 增量部署简介​增量部署一般指在每次部署过程中首先提取当前版本和即将部署版本...

weixin_35744893的博客 379

【项目】部署Java服务-Tomcat、Nginx、shell部署脚本

小编刚完成了一个部署Java服务的任务,大概有三个点可以介绍,Tomcat服务安装修改配置文件、Nginx路由配置、编写shell脚本部署服务以及遇到的几个相关坑,记录下来,分享给大家!

冯浩月 403

Linux服务器shell脚本自动部署java项目

服务器安装git 生成git密钥 将公钥配置到git仓库 安装maven并配置环境变量 spring项目配置好环境变量文件,修改application.yml和pom.xml文件 服务器克隆git仓库,并切换好分支 拉取最新代码 项目编译打包 关闭运行中的项目并备份 复制编译好的jar包文件到指定目录 启动项目。 #!/bin/sh #git pull and maven install project and deploy project #define project path

goss123的博客 818
上一篇: SpringBoot、SpringCloud、nacos版本对应关系
下一篇: logback-spring.xml日志配置文件
A__cup__of__Java
博客等级 码龄9年 19粉丝 22原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值