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

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行

在这里插入图片描述

👨‍🎓博主简介

  🏅云计算领域优质创作者
  🏅华为云开发者社区专家博主
  🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗


文章目录

  • 运行环境说明
  • 一、创建一个maven项目
    • 1.1 安装必要的插件【必须】*
    • 1.2 创建maven任务
  • 二、配置maven项目
    • 2.1 maven项目中的配置项详解
      • 2.1.1 General
      • 2.1.2 源码管理
      • 2.1.3 构建触发器
      • 2.1.4 构建环境
      • 2.1.5 Pre Steps(准备步骤)
      • 2.1.6 Build(构建)
      • 2.1.7 Post Steps(发布步骤)
      • 2.1.8 构建设置
    • 2.2 配置maven项目
      • 2.2.1 服务器需要提前安装:
      • 2.2.2 配置全局系统配置
      • 2.2.3 配置全局工具配置
      • 2.2.4 先写一个描述(可写可不写)
      • 2.2.5 创建源码管理(svn方式)
      • 2.2.6 保存配置
  • 三、构建maven项目
    • 3.1 build(构建)项目
    • 3.2 构建完成
    • 3.3 构建报错总结:
      • 3.3.1 关于maven版本问题报错
      • 3.3.2 关于jdk版本配置的问题
  • 四、构建完自动在服务器中运行
    • 4.1 在项目中配置Post Steps(发布步骤)
    • 4.2 自动构建jar包并运行
  • 五、动构建打包jar包并运行完成

运行环境说明

运行环境运行版本作用
操作系统centos 7.8运行Jenkins的基础环境
jenkins版本2.419用于构建项目及其他自动化
maven版本3.8.6用于构建jar包
jdk版本18、1.818(用于运行Jenkins)、1.8(用于运行jar包)

一、创建一个maven项目

1.1 安装必要的插件【必须】*

  • maven
  • git
  • ssh
  • svn

一般在部署完成,访问的时候选择默认安装插件基本都会装 – git。

点击 Manage Jenkin –> Plugins(插件) --> Available plugins(商店)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 搜索gitmavensshsvn 进行安装;

git 和 ssh 我这里已经有了,需要更新就更新一下;

在这里插入图片描述
在这里插入图片描述

maven、svn 我这里没有,就安装一下吧;

在这里插入图片描述

安装完成之后,在新建Item 那块就可以看到maven了。如下↓

在这里插入图片描述

svn

在这里插入图片描述

1.2 创建maven任务

  • 新建Item – > 选择maven项目,起一个任务名称。

在这里插入图片描述

创建完之后,就到了这个页面

在这里插入图片描述

二、配置maven项目

下面来讲解一下maven项目里的配置项。

2.1 maven项目中的配置项详解

2.1.1 General

项目描述,可以在这块写一些项目的描述。

在这里插入图片描述

2.1.2 源码管理

主要是拉取源码用的,这里有两种,一种是git,一种是svn方式。等下我们创建项目使用的是svn方式。

在这里插入图片描述

这个不仅Jenkins项目上要安装git插件,在服务器上也需要安装git。

yum -y install git

2.1.3 构建触发器

默认勾选上的是下面的选项:Jenkins将会去寻找之前已经构建过的pom依赖(如果有之前构建过的相同的pom文件),直接使用之前的镜像,便不会再去重新的解析了

在这里插入图片描述

2.1.4 构建环境

在这里面,勾选上对应的内容,将去做一些额外的处理,在这里保持默认的,什么都不去勾选

在这里插入图片描述

这是翻译后的,可根据实际情况来使用。

在这里插入图片描述

2.1.5 Pre Steps(准备步骤)

准备步骤,一般会选择Execute shellInvoke Gradle script

在这里插入图片描述

2.1.6 Build(构建)

在这里插入图片描述

2.1.7 Post Steps(发布步骤)

这个配置,说明的是:在项目构建完成之后,接下来需要做的内容

在这里,我们需要将构建完的项目,打成的包传到我们的测试服务器上,也是在这里去进行配置的

2.1.8 构建设置

这里可以配置电子邮件通知。比如失败,成功,都可以进行发送邮件来通知提醒。

2.2 配置maven项目

2.2.1 服务器需要提前安装:

如果是使用git部署,服务器上也需要安装git;

  • jdk1.8

  • maven

  • jdk:根据自己的项目选择所需的jdk版本,我的项目是需要 jdk11以上,用的是jdk18 才可以;
    如果是需要jdk1.8,并且Jenkins是按照我的部署文档部署的,那么默认就会有jdk1.8,可以使用find / -name java 找一下java的安装路径,将绝对路径配置到全局工具配置里就行;如果没有安装,需要安装一下;可参考:Linux中安装jdk1.8和配置环境变量

  • maven:根据自己的项目选择所需的mvn版本,我的项目是需要 maven3.8 才可以;
    maven环境默认是没有的,也需要在服务器安装一下,可参考:【Linux】Centos安装mvn命令(maven),建议使用maven3.8,下载地址:https://pan.baidu.com/s/1drjw-sQ5JKFukamVSsLqtw?pwd=b1a0

2.2.2 配置全局系统配置

Manage Jenkins --> System

在这里插入图片描述

  • 配置ssh环境

提示:如果找不到ssh在哪,可以使用ctrl+f搜索一下;

在这里插入图片描述

2.2.3 配置全局工具配置

Manage Jenkins --> Tools

在这里插入图片描述

  • maven配置

在项目开始前,我们安装了maven,所以maven使用默认的配置就行,所以这块不用改。
如果服务器有多个maven,需要用到这时候就需要重新配置一下了,配置的时候到maven的setting.xml路径,比如/usr/local/maven/apache-maven-3.8.6/conf/setting.xml

在这里插入图片描述

然后我们拉到最下面可以看到还有一个maven,这个需要配置一下;

找到Maven安装 --> 点击新增Maven --> 配置maven路径即可;

在这里插入图片描述

  • jdk配置

找到JDK安装 --> 点击新增JDK --> 配置jdk路径即可;

在这里插入图片描述

配置完之后保存。

2.2.4 先写一个描述(可写可不写)

进入刚刚创建的maven项目,选择配置,跳到这个页面;

在这里插入图片描述

2.2.5 创建源码管理(svn方式)

在这里插入图片描述
在这里插入图片描述

2.2.6 保存配置

配置完之后,点击保存

在这里插入图片描述

三、构建maven项目

3.1 build(构建)项目

保存完之后,看到左边有一个build now,然后点击build(构建)就可以了;

在这里插入图片描述

构建的时候可以查看构建过程,F5 刷新一下页面

在这里插入图片描述

往下拉,看到这个,点进去,然后点击控制台输出,就可以看到构建过程了。

在这里插入图片描述
在这里插入图片描述

3.2 构建完成

出现Finished: SUCCESS 就是构建完成了。

在这里插入图片描述

同时,最上面也会变成一个绿色的对号;

在这里插入图片描述

构建完之后就可以在服务器上查看了,以下是存放到服务器的路径。

在这里插入图片描述

3.3 构建报错总结:

3.3.1 关于maven版本问题报错

如果在build的时候遇到此报错,是因为maven版本的问题;

在这里插入图片描述

3.3.2 关于jdk版本配置的问题

如果在build的时候遇到此报错,是因为jdk版本配置的问题;

在这里插入图片描述

四、构建完自动在服务器中运行

4.1 在项目中配置Post Steps(发布步骤)

这就是在build完之后,需要进行什么操作,在这里写。
可以使用ssh 方式或者 shell 方式;
sshshell 其实都一样,都是写命令的;
ssh还需要配置全局变量,虽然上面已经配置了,但是我一般经常用 shell 方式,看自己选择吧。
这里以 shell 方式举例。

首先,需要返回刚刚的项目中进行配置;

在这里插入图片描述

  • 找到 Post Steps

在这里插入图片描述

  • 选择执行shell,写个shell脚本(也可以使用ssh方式,自己定义)

在这里插入图片描述
在这里插入图片描述

  • shell 脚本内容

提示:如果要运行jar包的话,必须在脚本里添加:BUILD_ID=DONTKILLME 环境变量,防止执行完自动化构建jar包程序自动停止问题。

#!/bin/bash# (必须)配置一个环境变量,防止执行完自动化构建jar包程序自动停止问题
BUILD_ID=DONTKILLME# 源jar包及路径
src_jar="/root/.jenkins/workspace/mytest_maven/target/cs.jar"
# 目标jar及包路径
dest_jar="/application/cs.jar"
# 目标jar包路径
dest_path="/application/"# 创建目标路径
mkdir -p /application/# 将打包完的jar包复制过去
## 先判断jar包是否存在,如果存在则备份,如果不存在,则直接复制过去运行。
if [ -e $dest_jar ];thenecho "存在此文件,开始备份,重新复制:$(date +"%Y-%m-%d")"mv $dest_jar $dest_jar-$(date +"%Y-%m-%d")cp -ar $src_jar $dest_jar
elseecho "目标路径没有这个文件,直接复制过去"cp -ar $src_jar $dest_jar
ficd $dest_path
# 检测jar包进程,这里直接写jar包名称,因为如果引用上面的环境变量,是路径加jar包名,如果在服务器上但启动的话,可能会找不到,所以需要直接写jar包名称。
jar_jin=$(ps -ef | grep -v grep | grep -ic cs.jar)if [ "$jar_jin" -ge "1" ];thenecho "检测到进程,先杀掉,后启动"ps -ef | grep -v grep | grep cs.jar | awk -F " " '{print $2}' | xargs kill -9java -jar $dest_jar --server.port=9999 >> app.log &
elseecho "未检测到jar包进程,直接启动"java -jar $dest_jar --server.port=9999 >> app.log &
fi

配置完之后,点击保存;

在这里插入图片描述

4.2 自动构建jar包并运行

  • 点击构建(Build Now)

在这里插入图片描述

  • F5 刷新一下,可看到最新的构建运行

在这里插入图片描述

  • 点击进入,查看控制台输出。

在这里插入图片描述

输出Finished: SUCCESS 则为执行成功。

在这里插入图片描述

执行成功之后我们进入到服务器中,查看一下服务是否启动,可以查看端口是否启动或者jar包进程是否启动

ps -ef | grep cs.jarnetstat -anput | grep 9999

端口和jar包进程都存在,则可以去做访问页面之类的操作了。

如果访问不到,需要确认服务是否正常启动或防火墙端口是否开启。

这样自动构建打包jar包并运行就完成了。

五、动构建打包jar包并运行完成

相关文章:

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行

👨‍🎓博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…...

数据库、OS内核安全等精彩继续!龙蜥大讲堂 5 月直播预告来袭

「龙蜥大讲堂」5 月精彩预告来了,点击下方海报抢先了解。本月又是满满的技术干货分享,多位大咖带你共享技术盛宴!直播地址:http://live.bilibili.com/24798267 5 月精彩分享直达 👇 直播主题及内容介绍 一&#xff1…...

ubuntu20文件安装和卸载cuda11.6

搜索cuda 11.6 nvidia,进入官网https://developer.nvidia.com/cuda-11-6-0-download-archive 选择linux --> runfile 用安装包安装 wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run sudo s…...

如何备份firewalld的配置信息?

要备份Firewalld的配置信息,您可以通过以下步骤进行: 备份配置文件: Firewalld的配置文件位于/etc/firewalld/目录下。您可以使用cp命令来备份这些文件到其他位置,例如: cp -r /etc/firewalld/zones /path/to/backup…...

我们该如何看待AIGC(人工智能)

引言 人工智能(AI)是当今世界科技发展的前沿领域之一,它正在以前所未有的速度和规模影响着我们的生活、工作和思考方式。AIGC,即人工智能生成内容(Artificial Intelligence Generated Content)&#xff0c…...

POWERBI==官网教程

地址 COVID-19 tracking sample for US state and local governments - Power BI | Microsoft Learn 已经非常全面了...

自然语言处理(NLP)技术有哪些运用?

目录 一、自然语言处理(NLP)技术有哪些运用? 二、Python进行文本的情感分析 1、NLTK库: 2、TextBlob库: 三、错误排除 一、自然语言处理(NLP)技术有哪些运用? 自然语言处理(NLP&#xff09…...

java spring 09 Bean的销毁过程 上 在docreatebean中登记要销毁的bean

1.Bean销毁是发送在Spring容器关闭过程中的 AnnotationConfigApplicationContext context new AnnotationConfigApplicationContext(AppConfig.class);UserService userService (UserService) context.getBean("userService");userService.test();// 容器关闭cont…...

杰发科技AC7801——支持的纠错功能

1. 复位寄存器保留复位类型 低压检测复位(LVD Reset) 集成了一个低压保护系统,以便在电源电压发生变化期间保护存储器内容和控制 MCU 系统状态。该系统由上电复位(POR)电路和 LVD 电路组成,LVD 可以配置为不同的复位基准&#x…...

spring boot运行过程中动态加载Controller

1.被加载的jar代码 package com.dl;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class App {public static void main(String[] args) {SpringApplication.run(A…...

学习软考----数据库系统工程师25

关系规范化 1NF(第一范式) 2NF(第二范式) 3NF(第三范式) BCNF(巴克斯范式) 4NF(第四范式) 总结...

RTMP 直播推流 Demo(一)—— 项目配置与视频预览

音视频编解码系列目录: Android 音视频基础知识 Android 音视频播放器 Demo(一)—— 视频解码与渲染 Android 音视频播放器 Demo(二)—— 音频解码与音视频同步 RTMP 直播推流 Demo(一)—— 项目…...

安卓获取SHA

1:安卓通过签名key获取SHA 方式有两种, 1、电脑上来存在eclipse的用户或正在使用此开发工具的用户就简单了,直接利用eclipse 走打包流程,再打包的时候选择相应的签名,那么在当前面板的下面便会出现签名的相关信息。 2、…...

【Qt 学习笔记】Qt常用控件 | 输入类控件 | Dial的使用及说明

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 输入类控件 | Dial的使用及说明 文章编号:Qt…...

【C语言】项目实践-贪吃蛇小游戏(Windows环境的控制台下)

一.游戏要实现基本的功能: • 贪吃蛇地图绘制 • 蛇吃食物的功能 (上、下、左、右方向键控制蛇的动作) • 蛇撞墙死亡 • 蛇撞自身死亡 • 计算得分 • 蛇身加速、减速 • 暂停游戏 二.技术要点 C语言函数、枚举、结构体、动态内存管…...

在做题中学习(50):搜索插入位置

35. 搜索插入位置 - 力扣(LeetCode) 解法:二分查找 思路:题目是有序的,时间复杂度O(logN),二分没跑了,题目说如果找不到target,返回它应该被插入位置的下标,所以可以分析一下示例2&…...

【mysql】mysql单表查询、多表查询、分组查询、子查询等案例详细解析

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...

【Gateway远程开发】0.5GB of free space is necessary to run the IDE.

【Gateway远程开发】0.5GB of free space is necessary to run the IDE. 报错 0.5GB of free space is necessary to run the IDE. Make sure that there’s enough space in following paths: /root/.cache/JetBrains /root/.config/JetBrains 原因 下面两个路径的空间不…...

普通组件的注册-局部注册和全局注册

目录 一、局部注册和全局注册-概述 二、局部注册的使用示例 三、全局注册的使用示例 一、局部注册和全局注册-概述 组件注册有两种方式: 局部注册:只能在注册的组件内使用。使用方法:创建.vue文件,在使用的组件内导入并注册。…...

Apache Dubbo知识点表格总结

Dubbo是一个高性能的Java RPC框架,它提供了一系列的功能来支持分布式系统的开发。通常用于微服务之间的服务调用,顺便提一下也是用于微服务之间调用的OpenFeign,OpenFeign是Spring Cloud体系中的一个声明式HTTP客户端,用于简化HTT…...

电路板/硬件---器件

电阻 电阻作用 电阻在电路中扮演着重要的角色,其作用包括: 限制电流:电阻通过阻碍电子流动的自由而限制电流。这是电阻最基本的功能之一。根据欧姆定律,电流与电阻成正比,电阻越大,通过电阻的电流就越小。…...

STC15W1K16S和VC6.0串口通讯收发测试实例

/********************************************* STC USB 串口板 2014 4 7 20:12 发送接收数据 使用STC串口调试助手通讯正常,L161 **********************************************/ #include "reg51.h" #include "intrins.h" #define…...

Python程序设计 函数(三)

练习十一 函数 第1关: 一元二次方程的根 定义一个函数qg,输入一元二次方程的系数a,b,c 当判别式大于0,返回1和两个根 当判别式等于0,返回0和两个根 当判别式小于0,访问-1和两个根 在主程序中,根据函数返回…...

linux之ssh

SSH远程连接协议 SSH远程管理 定义 SSH(Secure Shell )是一种安全通道协议,主要用来实现字符界面的远程的登录、远程复制等功能。 SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。因此SSH协议具…...

excel如何将多列数据转换为一列?

这个数据整理借用数据透视表也可以做到: 1.先将数据源的表头补齐,“姓名” 2.点击插入选项卡,数据透视表,在弹出对话框中,数据透视位置选择 现有工作表,(实际使用时新建也没有问题)…...

【Java 刷题记录】前缀和

前缀和 25. 一维前缀和 示例1: 输入: 3 2 1 2 4 1 2 2 3输出: 3 6import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scanner in new Scanner(S…...

NVIDIA: RULER新测量方法让大模型现形

1 引言 最近在人工智能系统工程和语言模型设计方面的进展已经实现了语言模型上下文长度的高效扩展。以前的工作通常采用合成任务,如密钥检索和大海捞针来评估长上下文语言模型(LMs)。然而,这些评估在不同工作中使用不一致,仅揭示了检索能力,无法衡量其他形式的长上下文理解。 …...

2024数学-微积分和线性代数/本科研究生专业考试/考研/论文/重点公式考点汇总/最难公式投票

## 整体公式汇总列表 http://www.deepnlp.org/equation/category/math #### 微积分 ## 几何级数http://www.deepnlp.org/equation/arithmetic-and-geometric-progressions ## 级数收敛http://www.deepnlp.org/equation/convergence-of-series ## 二项式展开 http://www.dee…...

代码随想录训练营Day33(贪心算法):Leetcode1005、134、135(难得有一天能完全独立做出题目)

Leetcode1005: 题目描述: 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后,返回数…...

Flutter笔记:Widgets Easier组件库(12)使用消息吐丝(Notify Toasts)

Flutter笔记 Widgets Easier组件库(12)使用消息吐丝(Notify Toasts) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 29114848416…...

从《春色寄情人》学习如何面对死亡

经典台词,很震撼又很实用,记录一下。 ❤️01 有的时候好人不长命百岁,是因为老天爷觉得他们太累,让他们提前休息了! ❤️02 跟我们亲近的人离世,有可能是老天给我们发的信号,提醒我们&#xff…...

使用moveit控制机械臂

在这篇博客中,我们将详细探讨如何利用Python和Robot Operating System(ROS)配合MoveIt! 控制机械臂执行精确的抓取任务。机械臂技术在工业自动化、医疗服务以及研究领域扮演着越来越关键的角色。本文将通过介绍安装必要的软件、编写控制脚本以…...

Mysql报错红温集锦(一)(ipynb配置、pymysql登录、密码带@、to_sql如何加速、触发器SIGNAL阻止插入数据)

一、jupyter notebook无法使用%sql来添加sql代码 可能原因: 1、没装jupyter和notebook库、没装ipython-sql库 pip install jupyter notebook ipython-sql 另外如果是vscode的话还需要安装一些相关的插件 2、没load_ext %load_ext sql 3、没正确的登录到mysql…...

ASP.NET Core SignalR 配置与集成测试究极指南

这篇文章也可以在我的博客中查看 前言 哥们最近都在埋头苦干,沉默是金,有一段时间没更新博客了。然而今儿SignalR集成测试实属是给我整破防了。虽说SignalR是.NET官方维护的实时通信库,已经开发了有十几年,甚至已经编入至了core…...

JENKINS 安装,学习运维从这里开始

Download and deployJenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their softwarehttps://www.jenkins.io/download/首先点击上面。下载Jenkins 为了学习,从windows开始&#x…...

大语言模型从Scaling Laws到MoE

1、摩尔定律和伸缩法则 摩尔定律(Moores law)是由英特尔(Intel)创始人之一戈登摩尔提出的。其内容为:集成电路上可容纳的晶体管数目,约每隔两年便会增加一倍;而经常被引用的“18个月”&#xf…...

四级英语翻译随堂笔记

降维表达:中译英,英译英 没有强调主语,没有说明主语:用被动 但如果实在不行,再增添主语 不会就不翻译,不要乱翻译 以xxx为背景:against the backdrop of the xxx eg:against the backdrop of…...

Nacos支持的配置格式及其在微服务架构中的应用

今天,我想和大家探讨一下Nacos这一重要的微服务组件,特别是它所支持的配置格式以及这些格式在微服务架构中的应用。 一、Nacos简介 Nacos是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它提供了服务发现、配置管理…...

2024年华为OD机试真题-小明找位置-(C++)-OD统一考试(C卷D卷)

题目描述: 小朋友出操,按学号从小到大排成一列;小明来迟了,请你给小明出个主意,让他尽快找到他应该排的位置。 算法复杂度要求不高于nLog(n);学号为整数类型,队列规模<=10000; 输入描述: 1、第一行:输入已排成队列的小朋友的学号(正整数),以”,”隔开; …...

机器人系统ros2内部接口介绍

内部 ROS 接口是公共 C API &#xff0c;供创建客户端库或添加新的底层中间件的开发人员使用&#xff0c;但不适合典型 ROS 用户使用。 ROS客户端库提供大多数 ROS 用户熟悉的面向用户的API&#xff0c;并且可能采用多种编程语言。 内部API架构概述 内部接口主要有两个&#x…...

跟随Facebook的足迹:社交媒体背后的探索之旅

在当今数字化时代&#xff0c;社交媒体已经成为了人们日常生活中不可或缺的一部分。而在这庞大的社交媒体网络中&#xff0c;Facebook作为其中的巨头&#xff0c;一直在引领着潮流。从创立之初的一个大学社交网络到如今的全球性平台&#xff0c;Facebook的发展历程承载了无数故…...

面试题分享之Java并发篇

注意&#xff1a;文章若有错误的地方&#xff0c;欢迎评论区里面指正 &#x1f36d; 系列文章目录 面试题分享之Java集合篇&#xff08;三&#xff09; 面试题分享之Java集合篇&#xff08;二&#xff09; 面试题分享之Java基础篇&#xff08;三&#xff09; 前言 今天给小…...

bpmn-js 多实例配置MultiInstanceLoopCharacteristics实现或签会签

使用bpmn-js流程图开发过程中会遇到会签和或签的问题,这个时候我们就需要使用多实例配置来实现BPMN 2.0的配置实现了,多实例任务,是从流程编辑概念之初也就是Activiti时期就存在的一个方式。所谓的多实例任务也就是字面意思,一个任务由多个人完成,常见于我们的审批流程的或…...

【gpedit.msc】组策略编辑器的安装,针对windows家庭版,没有此功能

创建一个记事本文件然后放入以下内容 echo offpushd "%~dp0"dir /b %systemroot%\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >gp.txtdir /b %systemroot%\servicing\Packages\Microsoft-Windows-GroupPolicy-…...

带EXCEL附件邮件发送相关代码

1.查看生成的邮件 2.1 非面向对象的方式&#xff08;demo直接copy即可&#xff09; ​ REPORT Z12. DATA: IT_DOCUMENT_DATA TYPE SODOCCHGI1,IT_CONTENT_TEXT TYPE STANDARD TABLE OF SOLISTI1 WITH HEADER LINE,IT_PACKING_LIST TYPE TABLE OF SOPCKLSTI1 WITH HEADER LIN…...

【算法作业】均分卡牌,购买股票

问题描述 John 有两个孩子&#xff0c;在 John病逝后&#xff0c;留下了一组价值不一定相同的魔卡&#xff0c; 现在要求你设计一种策略&#xff0c;帮John的经管人将John的这些遗产分给他的两个孩子&#xff0c;使得他们获得的遗产差异最小&#xff08;每张魔卡不能分拆&#…...

python作业

题目 分析 步骤&#xff1a; 判断先画空格还是数字 当有n层时&#xff0c;第i层有多少个空格第i层的起始数字是几&#xff0c;结尾是几&#xff0c;即数字取值范围当有n层时&#xff0c;第i层有多少个数字 代码 模式A n int(input("请输入行数:")) for i in range(…...

【Linux的文件篇章 - 管道文件】

Linux学习笔记---013 Linux的管道文件1、进程间通信1.1、进程为什么要通信&#xff1f;1.2、进程如何通信&#xff1f;1.3、进程通信的方式&#xff1f; 2、匿名管道2.1、理解一种现象2.2、基本概念和管道原理 3、管道的使用3.1、代码样例3.2、如何使用管道通信呢&#xff1f;3…...

C# 局部静态函数,封闭方法中的最佳选择

C# 局部静态函数&#xff0c;封闭方法中的最佳选择 简介特性 应用场景辅助计算递归与尾递归优化筛选与过滤操作查找与映射操作 生命周期静态局部函数 vs 普通局部函数性能封装性可读性 简介 C# 局部静态函数&#xff08;Local Static Functions&#xff09;是一种函数作用域内…...

【MySQL】MySQL 8.4.0 长期支持版(LTS)安装

就在2024年 “5.1” 节前&#xff0c;MySQL官方发布了8.4.0长期支持版&#xff08;LTS - Long Term Support&#xff09;。根据官方提供的文档&#xff0c;在本地虚拟机进行安装测试。 安装、配置和启动过程记录如下&#xff1a; 第一步&#xff0c;上传到安装包&#xff08;my…...

0.98T优于10米高程DEM数据

我们在《全球30米100%水陆覆盖高程》一文中&#xff0c;为大家分享了全球100%覆盖&#xff0c;且包括海底高程的30米DEM数据。 该数据虽然全球无死角覆盖&#xff0c;但分辨率只有30米。 这里&#xff0c;再为大家分享一个优于10米的高程数据&#xff0c;但目前仅覆盖全国范围…...

PPT为何无法复制粘贴?附解决办法!

PPT文件里的内容无法复制&#xff0c;或者复制后无法粘贴&#xff0c;这是怎么回事呢&#xff1f; 这种情况&#xff0c;一般是因为PPT被设置了保护&#xff0c;设置了以“只读方式”打开&#xff0c;就无法进行复制粘贴了。PPT的“只读方式”不同&#xff0c;解决方法也不同&…...

DOTWeen插件使用技巧

今天我们一起来研究一下DOTween动画插件。 对于该插件官网上的介绍是&#xff1a;“DOtween是一种快速&#xff0c;高效&#xff0c;完全类型安全的面向对象的动画引擎。” 将它导入Unity中&#xff0c;可以很方便快速地帮我们完成许多动画效果。本篇文章主要将通过一些小案例…...

太极图形学——高级数据结构——稀疏

我们在之前学习的稠密数据结构中主要可以分为root&#xff0c;dense&#xff0c;和field三个&#xff0c;而实际上我们还可以定义一个bitmasked和pointer这两个就是用来帮助我们维护空间稀疏性用的 举一个例子&#xff0c;首先是一个稠密结构&#xff0c;它的数据利用率很低 那…...

为什么很多人工作 3 年 却只有 1 年 经验?

题目&#xff1a;【经典算法】LeetCode 20:有效的括号(Java/C/Python3实现含注释说明,Easy) 作者主页&#xff1a; &#x1f517;进朱者赤的博客 精选专栏&#xff1a;&#x1f517;经典算法 作者简介&#xff1a;阿里非典型程序员一枚 &#xff0c;记录在大厂的打怪升级之路…...

从丢失到找回:手机相册恢复实战教程

“之前因为手机延迟把三千多张相片都删了&#xff0c;花了几个小时找文档&#xff0c;最后也没找到。对于爱拍照的朋友来说&#xff0c;照片被误删或不见真的会超级难过&#xff01;请问大家有什么好方法能够恢复照片吗&#xff1f;” 在数字时代&#xff0c;手机相册成为了我…...