学之思项目的搭建部署 打jar包失败的解决方法
- 学之思系统介绍
- 部署java环境
- 安装maven
- 安装node.js前端打包工具命令npm
- Git命令获取源代码
- 安装配置mysql
- 前端打包
- 打包jar包
- 服务上线
- !!!打jar包失败的解决方法
学之思系统介绍
学之思开源考试系统是一款 java + vue 的前后端不分离的考试系统。主要优点是开发、部署简单快捷、界面设计友好、代码结构清晰。支持web端和微信小程序,能覆盖到pc机和手机等设备。 支持多种部署方式:集成部署、前后端分离部署、docker部署。
部署java环境
#准备环境
yum -y install vim wget lrzsz
#上传jdk包
#解压安装到指定目录
[root@localhost ~]# tar -xf jdk-8u211-linux-x64.tar.gz -C /usr/local
[root@localhost ~]# mv /usr/local/jdk1.8.0_211/ /usr/local/java
#修改系统环境变量
[root@localhost ~]# vim /etc/profile
JAVA_HOME=/usr/local/java
PATH=$JAVA_HOME/bin:$PATH
#重新加载环境变量
[root@localhost ~]# source /etc/profile
#查看java环境是否配置成功
[root@localhost ~]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
安装maven
#下载maven的安装包
[root@localhost ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz --no-check-certificate
#安装
[root@localhost ~]# tar -xf apache-maven-3.8.8-bin.tar.gz -C /usr/local
#配置系统变量
[root@localhost ~]# vim /etc/profile
MAVEN_HOME=/usr/local/maven
PATH=$PATH:$MAVEN_HOME/bin
#重新加载环境变量
[root@localhost ~]# source /etc/profile
#查看maven的版本
[root@localhost ~]# mvn -version
Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
Maven home: /usr/local/maven
Java version: 1.8.0_211, vendor: Oracle Corporation, runtime: /usr/local/java/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.el7.x86_64", arch: "amd64", family: "unix"
安装node.js前端打包工具命令npm
# 下载node安装包
[root@localhost ~]# wget https://nodejs.org/download/release/latest-v16.x/node-v16.20.2-linux-x64.tar.xz
#安装改名
[root@localhost ~]# tar -xf node-v16.20.2-linux-x64.tar.xz -C /usr/local/
[root@localhost ~]# mv /usr/local/node-v16.20.2-linux-x64/ /usr/local/node
#配置环境变量
[root@localhost ~]# vim /etc/profile
NODE_HOME=/usr/local/node
PATH=$NODE_HOME/bin:$PATH
[root@localhost ~]# source /etc/profile
#查看node版本
[root@localhost ~]# node --version
v16.20.2
Git命令获取源代码
[root@web-nginx ~]# yum install -y git
[root@web-nginx ~]# git clone https://gitee.com/hyunze/xzs-mysql.git
安装配置mysql
#安装MySQL,修改密码
[root@localhost ~]# yum -y install mysql-server
[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# grep pass /var/log/mysqld.log
2023-11-04T06:40:58.561457Z 1 [Note] A temporary password is generated for root@localhost: b/psllu>P0pd
[root@localhost ~]# mysqladmin -uroot -p'b/psllu>P0pd' password 'Qianfeng@123'[root@localhost ~]# mysql -pQianfeng@123
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.42 MySQL Community Server (GPL)Copyright (c) 2000, 2023, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
# 创建数据库xzs
mysql> create database xzs character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
#设置root允许远程登录
mysql> update mysql.user set host = '%' where user = 'root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)mysql> \q
Bye
#修改数据库信息
[root@web-nginx ~]# vim xzs-mysql/source/xzs/src/main/resources/application-prod.yml
logging:path: /usr/log/xzs/spring:datasource:url: jdbc:mysql://192.168.1.101:3306/xzs?useSSL=false&useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&allowMultiQueries=trueusername: rootpassword: QianFeng@123!driver-class-name: com.mysql.cj.jdbc.Driver# 导入初始化sql
[root@web-nginx ~]# mysql -uroot -p'QianFeng@123!' xzs < xzs-mysql/sql/xzs-mysql.sql
前端打包
#学生端
[root@web-nginx ~]# cd xzs-mysql/source/vue/xzs-student/
[root@web-nginx xzs-student]# npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
[root@web-nginx xzs-student]# npm install --registry https://registry.npm.taobao.org
[root@web-nginx xzs-student]# npm run build
[root@web-nginx xzs-student]# cp -r student xzs-mysql/source/xzs/src/main/resources/static#管理端
[root@web-nginx ~]# cd xzs-mysql/source/vue/xzs-admin/
[root@web-nginx xzs-admin]# npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
[root@web-nginx xzs-admin]# npm install --registry https://registry.npm.taobao.org
[root@web-nginx xzs-admin]# npm run build
[root@web-nginx xzs-admin]# cp -r admin xzs-mysql/source/xzs/src/main/resources/static
打包jar包
[root@web-nginx ~]# cd xzs-mysql/source/xzs
[root@web-nginx xzs]# mvn package
服务上线
[root@web-nginx ~]# mkdir -p /application/java-server
[root@web-nginx ~]# cp xzs-mysql/source/xzs/target/xzs-3.9.0.jar /application/java-server
[root@web-nginx ~]# cd /application/java-server
[root@web-nginx java-server]# nohup java -Duser.timezone=Asia/Shanghai -jar -Dspring.profiles.active=prod xzs-3.9.0.jar > start1.log 2>&1 &
学生端访问地址为:http://ip:8000/student
管理员端访问地址为:http://ip:8000/admin
学生端默认账号:student / 123456
管理端默认账号:admin / 123456
!!!打jar包失败的解决方法
将国外的maven镜像切换为国内的镜像源
阿里云maven镜像源
[root@web-nginx ~]# vim /usr/local/maven/conf/settings.xml
将配置文件中mirrors模块切换为阿里云镜像源如下图
修改完成后重新打包
[root@web-nginx ~]# cd xzs-mysql/source/xzs
[root@web-nginx xzs]# mvn package
相关文章:

学之思项目的搭建部署 打jar包失败的解决方法
学之思系统介绍部署java环境安装maven安装node.js前端打包工具命令npmGit命令获取源代码安装配置mysql前端打包打包jar包服务上线!!!打jar包失败的解决方法 学之思系统介绍 学之思开源考试系统是一款 java vue 的前后端不分离的考试系统。主要优点是开发、部署简单快捷、界面…...

[100天算法】-定长子串中元音的最大数目(day 67)
题目描述 给你字符串 s 和整数 k 。请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。英文中的 元音字母 为(a, e, i, o, u)。示例 1:输入:s "abciiidef", k 3 输出:3 解释…...

Elastic Observability 8.11:ES|QL、APM 中的通用分析和增强的 SLOs
作者:Tom Grabowski, Katrin Freihofner, Israel Ogbole Elastic Observability 8.11 引入了 ES|QL for Observability(技术预览版)、Universal ProfilingTM 和 Elastic APM 集成,以及针对 Elastic Observability 的新 SLO &#…...

TexGen简单模型对应inp文件简单梳理-2
模型 默认最简单的编织复材,编辑材料属性时发现基体属性设置正常,各向同性材料,但是纱线的材料属性却没有弹性性能的设置。 导出inp文件后,导入ABAQUS中其实可以看到有两种材料,纱线也是有属性的。 ABAQUS中修改属性的…...

VUE获取当前日期的周日和周六
<template><div><div click"handleLast()">上一周</div><div click"handleNext()">下一周</div><el-calendarref"monChild"v-model"value":first-day-of-week"7":range"[sta…...
K8S篇之k8s containerd模式fail to pull image certificate signed by unknown authority
"k8s containerd模式fail to pull image certificate signed by unknown authority"的问题 解决方案:您有两个选择:配置证书或禁用证书验证。 配置证书:您可以为 containerd 配置证书,使其信任由未知机构签名的证书。 具…...

算法进阶指南图论 最优贸易
最优贸易 题目描述 C C C 国有 n n n 个大城市和 m m m 条道路,每条道路连接这 n n n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m m m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的…...

【Android】Debug时禁用主线程ANR限制
ANR全称Application Not Response,指主线程超过5s无响应,应用会自动退出 由于这个线程,如果我们给主线程加了断点,就会触发ANR,导致调试时应用退出 这样调试起来会非常麻烦,其实对于Debug应用,…...

P6入门:项目初始化1-项目详情介绍
前言 使用项目详细信息查看和编辑有关所选项目的详细信息,在项目创建完成后,初始化项目是一项非常重要的工作,涉及需要设置的内容包括项目名,ID,责任人,日历,预算,资金,分类码等等&…...

进行 “最佳价格查询器” 的开发
前置条件 public class Shop {private final String name;private final Random random;public Shop(String name) {this.name name;random new Random(name.charAt(0) * name.charAt(1) * name.charAt(2));}public double getPrice(String product) {return calculatePrice…...
Brain Teaser概率类 - 三局两胜制
问题 三局两胜制比赛,两局结束还是三局结束的概率大? 解答 假设每局比赛的结果是独立同分布的,且遵循伯努利分布,其中一方的胜率为p,另一方为1-p. 则两局结束的概率是 p 2 ( 1 − p ) 2 ≥ 0.5 p^2 (1-p)^2 \geq …...

在现实生活中传感器GV-H130/GV-21的使用
今天,收获了传感器GV-H130/GV-21,调试探头的用法,下面就来看看吧!如有不妥欢迎指正!!!! 目录 传感器GV-H130/GV-21外观 传感器调试探头 探头与必要准备工作 传感器数值更改调试 …...
海康Visionmaster-全局脚本:通过通讯触发快速匹配 模块换型的方法
如何实现根据通讯信号切换快速匹配的模型文件并触发流程执行? 1.动态切换模板需在全局脚本中调用相关接口实现,可以在全局脚本的通讯数据接收回调中实现代码逻辑,代码如下。 C# using System; using VM.GlobalScript.Methods; using System.…...
什么是闭包
闭包是指函数在定义时可以访问其词法作用域的能力,即使函数在定义之后被传递到了其他地方执行。它包含了两个主要的特性:函数内部可以访问外部函数作用域中的变量,而这些变量在函数执行完毕后依然保持在内存中。 具体来说,闭包的…...
sql6(Leetcode1387使用唯一标识码替换员工ID)
1112-2 代码: INNER JOIN 如果表中有至少一个匹配,则返回行 LEFT JOIN 即使右表中没有匹配,也从左表返回所有的行(LEFT为基准 RIGHT JOIN 即使左表中没有匹配,也从右表返回所有的行 # Write your MySQL query st…...

qt-C++笔记之Qt中的时间与定时器
qt-C笔记之Qt中的时间与定时器 code review! 文章目录 qt-C笔记之Qt中的时间与定时器一.Qt中的日期时间数据1.1.QTime:获取当前时间1.2.QDate:获取当前日期1.3.QDateTime:获取当前日期和时间1.4.QTime类详解1.5.QDate类详解1.6..QDateTime类…...

【C++】复杂的多继承及其缺陷(菱形继承)
本篇要分享的内容是C中多继承的缺陷:菱形继承。 以下为本篇目录 目录 1.多继承的缺陷与解决方法 2.虚继承的底层原理 3.虚继承底层原理的设计原因 1.多继承的缺陷与解决方法 首先观察下面的图片判断它是否为多继承 这实际上是一个单继承,单继承的特…...
esp32-rust-no_std-examples-blinky
什么是裸机环境? 裸机环境是指没有可供使用的操作系统环境。当编译的 Rust 程序拥有 no_std 属性时,该程序无权访问上述 std 章节中提到的某些特定功能。尽管仍支持使用配网或引入复杂数据结构等功能,但实现方式将会更加复杂。 no_std…...

GitHub上的开源工业软件
github上看到一个中国人做的流体力学开源介绍,太牛了! https://github.com/clatterrr/FluidSimulationTutorialsUnity 先分析一下工业仿真软件赛道 工业仿真软件的赛道和产品主要功能如下: 1. 工艺仿真赛道: - 工厂布局优化&am…...

Centos7安装配置中文输入法
Centos7安装配置中文输入法 在安装CentOS时,我们为了方便使用,语言选择了中文,但是我们发现,在Linux命令行或者是浏览器中输入时,我们只能输入英文,无法输入汉字。 来,跟随脚步,设…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...