当前位置: 首页 > news >正文

无线设置网站中国建筑人才培训网

无线设置网站,中国建筑人才培训网,深圳建设材料价格网站,网站开发行业怎么样在软件开发领域#xff0c;高效打包和分发Java应用程序是至关重要的。本博客将探讨一种使用Maven插件和Shell脚本的简化方法#xff0c;以创建一个分发包#xff0c;其中包含了您项目的可执行JAR文件、配置文件和一个方便的启动脚本。 步骤1#xff1a;Maven插件配置 旅程…在软件开发领域高效打包和分发Java应用程序是至关重要的。本博客将探讨一种使用Maven插件和Shell脚本的简化方法以创建一个分发包其中包含了您项目的可执行JAR文件、配置文件和一个方便的启动脚本。 步骤1Maven插件配置 旅程从Maven开始这是Java生态系统中广泛使用的强大构建工具。我们利用maven-assembly-plugin配置我们项目的打包。以下是pom.xml文件中的相关配置 !-- Maven Assembly Plugin 配置 -- plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-assembly-plugin/artifactIdversion3.6.0/versionexecutionsexecutionidcreate-zip/idphasepackage/phasegoalsgoalsingle/goal/goalsconfigurationdescriptorsdescriptorsrc/main/assembly/zip.xml/descriptor/descriptors!-- 禁止追加程序集ID以获得更清晰的文件名 --appendAssemblyIdfalse/appendAssemblyIdarchive!-- 为JAR清单指定主类 --manifestmainClasscom.demo.workhookpushweixin.WorkHookPushWeixinApplication/mainClass/manifest/archive/configuration/execution/executions /plugin该配置指示Maven在package阶段执行汇编插件利用zip.xml中定义的设置。 mainClass 就是Spring Boot应用的主类原有的 spring-boot-maven-plugin 不能删除 步骤2assembly插件配置文件 zip.xml文件位于src/main/assembly/目录中概述了分发包的结构。它指定了ZIP文件中应包含的组件 assemblyidzip/idformatsformatzip/format/formatsfileSets!-- 包含JAR文件 --fileSetdirectory${project.build.directory}/directoryoutputDirectory//outputDirectoryincludesinclude*.jar/include/includes/fileSet!-- 包含启动脚本 --fileSetdirectorysrc/main/scripts/directoryoutputDirectory//outputDirectoryincludesincludespring-boot-control.sh/include/includesfilteredtrue/filteredfileMode0755/fileMode/fileSet!-- 包含配置文件 --fileSetdirectorysrc/main/resources/directoryoutputDirectory//outputDirectoryincludesinclude*.yml/include/includes/fileSet/fileSets /assembly该文件定义了汇编结构确保JAR文件、启动脚本和配置文件以期望的方式组织在一起。 步骤3启动脚本 为了将所有东西串联在一起提供了一个Bash脚本src/main/scripts/spring-boot-control.sh来管理应用程序。让我们分解关键功能 #!/bin/bash# APP_NAME定义Java应用程序JAR文件的名称。 APP_NAME${artifactId}-${version}.jar# LOG_FILE指定存储应用日志的文件名。 LOG_FILEapp.log# JAVA_OPTS用于传递应用程序所需的任何Java选项。 # 这目前为空但可以根据需要进行配置。 JAVA_OPTS# 函数# start()如果应用程序尚未运行则启动它。 # 使用 nohup 在后台运行进程并将输出重定向到日志文件。 start() {if [ $(is_running) -eq 1 ]; thenecho 应用程序已在运行。elsenohup java -jar $APP_NAME $JAVA_OPTS $LOG_FILE 21 echo 应用程序已启动。fi }# stop()如果应用程序正在运行则停止它。 # 首先尝试使用 SIGTERM 优雅地停止应用程序如果失败则使用 kill -9 强制停止。 stop() {PID$(get_pid)if [ -z $PID ]; thenecho 应用程序已停止。elseecho 正在停止应用程序...kill -SIGTERM $PIDsleep 5if [ $(is_running) -eq 1 ]; thenecho 正在强制停止应用程序...kill -9 $PIDfiecho 应用程序已停止。fi }# log()实时显示日志文件的内容。 log() {tail -f $LOG_FILE }# status()检查应用程序当前是否在运行。 status() {if [ $(is_running) -eq 1 ]; thenecho 应用程序正在运行。elseecho 应用程序已停止。fi }# get_pid()检索应用程序的进程IDPID。 get_pid() {echo $(ps -ef | grep $APP_NAME | grep -v grep | awk { print $2 }) }# is_running()根据PID的存在来确定应用程序当前是否在运行。 is_running() {if [ -z $(get_pid) ]; thenecho 0elseecho 1fi }# 主执行逻辑 # 处理命令行参数以执行相应的函数。 # 支持的命令start, stop, log, status。 # 对于无效命令显示使用信息。 case $1 instart)start;;stop)stop;;log)log;;status)status;;*)echo 使用方法$0 {start|stop|log|status}echo start启动应用程序echo stop停止应用程序echo log查看应用程序日志echo status检查应用程序是否在运行exit 1 esac 在脚本中我们定义了几个函数以及一个主函数用于启动、停止、查看日志和检查应用程序状态 start 启动应用程序使用 nohup 使应用在后台运行并将输出重定向到一个日志文件。stop 停止应用程序首先通过 get_pid 函数获取应用程序的进程ID然后使用 kill 命令发送信号以停止应用程序。log 查看应用程序的日志使用 tail -f 命令实时监视日志文件。status 检查应用程序的运行状态通过检查进程ID的存在与否来判断应用程序是否正在运行。 整个思路是通过Maven插件将项目的关键文件和配置打包成一个ZIP文件然后提供一个Shell脚本来管理应用程序的启动和停止。这种方式使得应用程序的部署和管理变得更加方便尤其适用于一些需要分发给其他环境的应用程序。同时通过Shell脚本提供的功能可以更方便地监控应用程序的运行状态和查看日志提高了部署后的维护性。
http://www.dnsts.com.cn/news/223700.html

相关文章:

  • h5免费制作网站模板永康企业网站建设
  • html5手机微网站模板wordpress设计类网站
  • 做网站应该用什么配置的电脑凡科做网站是否安全
  • 网站虚拟机从头做有影响吗上海站有云网络科技有限公司
  • 合肥哪里有建站公司如何绑定网站域名
  • 我的网站为什么打不开怎么回事张家界企业网站制作
  • 襄阳微信网站建设创业项目网
  • 网页制作素材按钮图标郑州seo教程
  • 武威百度做网站多少钱seo诊断书案例
  • 象山县建设管理局网站网络软文写作
  • 做网站店铺图片用什么软件流量型网站
  • 网站建设前景如何wordpress二级目录创建
  • 怎么才能创个网站在线平面设计师招募
  • 网站建设行业的分析怎样用ps做电子商务网站
  • 花卉网站建设项目策划书seo 网站结构优化
  • 申请建设部门网站的报告美食攻略网站建设课程设计
  • 东莞网站平面设计公司临夏金属装饰网站建设
  • 内蒙古网站建站DW做注册网站
  • 网站建设200wordpress产品页面
  • 企业网站建设策划书标准版阿里巴巴网站威海哪里做?
  • 域名备案网站源码互联网公司做什么的
  • asp.net 网站设计广州中小学智慧阅读门户网站
  • 品牌网站推广软件网站数据不变重新安装wordpress
  • 免费做的英文网站全国 做网站的企业
  • 网站目录在哪里天元建设集团有限公司张桂玉丑闻
  • 广东制作公司网站现在做网站都是怎么做的
  • 岳西县建设局网站腾讯风铃wordpress
  • 做安居客网站需要什么浏览器乐清定制网站建设
  • 商品展示类网站做的王者荣耀钓鱼网站
  • 网站群建设的优点旅游小镇网站建设方案