学之思项目的搭建部署 打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命令行或者是浏览器中输入时,我们只能输入英文,无法输入汉字。 来,跟随脚步,设…...
淘宝 + 京东商品评论批量采集教程
「技术、数据、接口、系统问题欢迎沟通」在电商运营、竞品分析、市场调研里,商品评论是最值钱的一手用户数据—— 能直接看出产品痛点、用户口碑、真实需求。但手动一条条复制,效率低到没法用,更满足不了批量、高频次采集的需求。这篇文章不讲…...
北京GEO优化公司对比
在AI搜索成为用户获取信息新入口的今天,你的品牌是否还在搜索引擎的“红海”里挣扎,却忽视了生成式AI这片“蓝海”?当用户习惯向豆包、文心一言、Kimi提问时,你的专业内容却石沉大海,这无疑是巨大的流量与商机流失。今…...
毕设项目 stm32 RFID智能仓库管理系统(源码+硬件+论文)
文章目录 0 前言1 主要功能3 核心软件设计4 实现效果5 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系…...
STM32CubeMX实战:__weak函数配置与高级应用场景剖析
1. __weak函数基础解析:嵌入式开发的"备胎"机制 第一次在STM32 HAL库中看到那些带着__weak前缀的函数时,我差点以为这是某种"虚弱"的函数实现。后来才发现,这其实是嵌入式开发中一种精妙的设计模式。想象你买了一套精装修…...
未来3年,这3个AI赛道已经定了
我最近一直在想一件事。Anthropic上个月的年化收入超过了OpenAI。很多人看到这条新闻,觉得不过是个财报数字。但我觉得这是一个信号——一个新产业正式成型的信号。这个产业叫AI编程。先说为什么是Anthropic,不是OpenAIOpenAI体量更大,名气更…...
Mega:为AI智能体设计的单体仓库引擎,重塑代码协作范式
1. 项目概述:为AI智能体时代而生的单体仓库引擎如果你和我一样,在过去一年里深度体验过各种AI编程助手,从GitHub Copilot到Cursor,再到尝试用Claude或GPT-4来生成和修改代码,你一定会遇到一个核心痛点:上下…...
数字孪生与强化学习在汽车主动悬架控制中的应用
1. 数字孪生与强化学习的协同控制框架在汽车工程领域,主动悬架系统一直是提升驾乘舒适性和操控稳定性的关键技术。传统控制方法如PID或LQR虽然成熟,但面对复杂多变的驾驶场景时往往显得力不从心。我们团队开发的这套数字孪生结合强化学习的解决方案&…...
VSCode + Vector CANoe + ETAS INCA 三方协同调试失败?揭秘车载标定场景下D-PDU API v7.2.1与WSL2 IPC通信断连的底层时序漏洞
更多请点击: https://intelliparadigm.com 第一章:VSCode 车载适配教程 在智能座舱开发中,VSCode 作为轻量高效且可扩展的编辑器,正逐步成为车载 HMI(人机交互)应用开发的主流工具。为确保其在车规级 Lin…...
深度解析GPT-Image-2架构:探秘强大根源,Open AI的又一里程碑式突破
GPT-Image-2:AI图像生成的“证据危机”与架构革命 OpenAI于4月21日正式发布的GPT-Image-2模型,在AI图像生成领域引发了“地震级”变革。它不仅以“clean sweep”(全榜第一)的姿态在Image Arena Text-to-Image排行榜上创造了“有史…...
DAN-F10N-00B,标准精度双频GNSS天线模块,实现城市环境米级精准定位与简易集成
简介今天我要向大家介绍的是 u-blox 的标准精度GNSS天线模块——DAN-F10N-00B。它是一款采用20 x 20 x 8 mm紧凑型贴片封装并内置集成L1/L5双频天线的GNSS接收模块,专为无需专业射频知识的简易设计而打造。它基于u-blox F10双频技术构建,配备稳健的SAW-L…...
