From 648f6aed157d03680cb5d879a0c2195c8c495b8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=B1=95=E6=9C=9B?= <2524685761@qq.com> Date: Tue, 29 Apr 2025 22:03:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .mvn/wrapper/MavenWrapperDownloader.java | 56 +- db/springbootus5uu.sql | 1026 +++++++++++----------- mvnw | 973 ++++++++++++++++++-- mvnw.cmd | 106 ++- pom-war.xml | 110 ++- pom.xml | 180 ++-- 6 files changed, 1791 insertions(+), 660 deletions(-) diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java index 2281075..4df7bf2 100644 --- a/.mvn/wrapper/MavenWrapperDownloader.java +++ b/.mvn/wrapper/MavenWrapperDownloader.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012 - 2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,91 +13,128 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +// 导入 java.net 包中的类,用于处理网络相关操作 import java.net.*; +// 导入 java.io 包中的类,用于输入输出操作 import java.io.*; +// 导入 java.nio.channels 包中的类,用于使用 NIO 通道进行高效的 I/O 操作 import java.nio.channels.*; +// 导入 java.util.Properties 类,用于处理属性文件 import java.util.Properties; +// 定义 MavenWrapperDownloader 类,用于下载 Maven 包装器 JAR 文件 public class MavenWrapperDownloader { + // 定义 Maven 包装器的版本号 private static final String WRAPPER_VERSION = "0.5.5"; /** * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. + * 如果没有提供 'downloadUrl',则从该默认 URL 下载 maven-wrapper.jar */ private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" - + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; + + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; /** * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to * use instead of the default one. + * maven-wrapper.properties 文件的路径,该文件可能包含一个 downloadUrl 属性,用于替代默认的下载 URL */ private static final String MAVEN_WRAPPER_PROPERTIES_PATH = ".mvn/wrapper/maven-wrapper.properties"; /** * Path where the maven-wrapper.jar will be saved to. + * maven-wrapper.jar 将保存的路径 */ private static final String MAVEN_WRAPPER_JAR_PATH = ".mvn/wrapper/maven-wrapper.jar"; /** * Name of the property which should be used to override the default download url for the wrapper. + * 用于覆盖包装器默认下载 URL 的属性名 */ private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; + // 程序的入口点 public static void main(String args[]) { + // 打印下载器启动信息 System.out.println("- Downloader started"); + // 根据命令行参数创建基础目录文件对象 File baseDirectory = new File(args[0]); + // 打印使用的基础目录的绝对路径 System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); - // If the maven-wrapper.properties exists, read it and check if it contains a custom - // wrapperUrl parameter. + // 如果 maven-wrapper.properties 文件存在,读取它并检查是否包含自定义的 wrapperUrl 参数 File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); + // 初始化下载 URL 为默认值 String url = DEFAULT_DOWNLOAD_URL; if(mavenWrapperPropertyFile.exists()) { + // 用于读取 maven-wrapper.properties 文件的输入流 FileInputStream mavenWrapperPropertyFileInputStream = null; try { + // 打开 maven-wrapper.properties 文件的输入流 mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); + // 创建 Properties 对象用于存储属性文件中的键值对 Properties mavenWrapperProperties = new Properties(); + // 从输入流中加载属性文件内容 mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); + // 获取自定义的下载 URL,如果不存在则使用默认值 url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); } catch (IOException e) { + // 打印加载 maven-wrapper.properties 文件出错信息 System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); } finally { try { + // 关闭输入流 if(mavenWrapperPropertyFileInputStream != null) { mavenWrapperPropertyFileInputStream.close(); } } catch (IOException e) { - // Ignore ... + // 忽略关闭输入流时可能出现的异常 } } } + // 打印下载的 URL System.out.println("- Downloading from: " + url); + // 创建要保存 maven-wrapper.jar 的文件对象 File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); + // 如果输出文件的父目录不存在,则创建它 if(!outputFile.getParentFile().exists()) { + // 如果创建父目录失败,打印错误信息 if(!outputFile.getParentFile().mkdirs()) { System.out.println( "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); } } + // 打印下载文件的保存路径 System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); try { + // 调用下载文件的方法 downloadFileFromURL(url, outputFile); + // 打印下载完成信息 System.out.println("Done"); + // 正常退出程序 System.exit(0); } catch (Throwable e) { + // 打印下载出错信息 System.out.println("- Error downloading"); + // 打印异常堆栈信息 e.printStackTrace(); + // 异常退出程序 System.exit(1); } } + // 从指定 URL 下载文件到指定目标文件的方法 private static void downloadFileFromURL(String urlString, File destination) throws Exception { + // 如果环境变量中设置了 MVNW_USERNAME 和 MVNW_PASSWORD if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { + // 获取用户名 String username = System.getenv("MVNW_USERNAME"); + // 获取密码并转换为字符数组 char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); + // 设置认证器 Authenticator.setDefault(new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { @@ -105,13 +142,20 @@ public class MavenWrapperDownloader { } }); } + // 创建 URL 对象 URL website = new URL(urlString); + // 用于读取网络数据的通道 ReadableByteChannel rbc; + // 打开 URL 连接并创建通道 rbc = Channels.newChannel(website.openStream()); + // 创建用于写入文件的输出流 FileOutputStream fos = new FileOutputStream(destination); + // 将通道中的数据传输到文件输出流的通道中 fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); + // 关闭输出流 fos.close(); + // 关闭通道 rbc.close(); } -} +} \ No newline at end of file diff --git a/db/springbootus5uu.sql b/db/springbootus5uu.sql index a5974fb..fd09b2a 100644 --- a/db/springbootus5uu.sql +++ b/db/springbootus5uu.sql @@ -3,629 +3,663 @@ -- Host: localhost Database: springbootus5uu -- ------------------------------------------------------ -- Server version 5.7.31 +-- MySQL dump 10.13 Distrib 5.7.31, for Linux (x86_64) -- 表示这是一个MySQL数据库的转储文件,版本为10.13 Distrib 5.7.31,适用于Linux (x86_64)系统 +-- -- 空注释行 +-- Host: localhost Database: springbootus5uu -- 说明数据库所在主机为localhost,数据库名称是springbootus5uu +-- ------------------------------------------------------ -- 分隔线注释 +-- Server version 5.7.31 -- 数据库服务器版本为5.7.31 -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -- 保存原来的字符集客户端设置 +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -- 保存原来的字符集结果设置 +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -- 保存原来的连接校对设置 +/*!40101 SET NAMES utf8 */; -- 设置字符集为utf8 +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -- 保存原来的时区设置 +/*!40103 SET TIME_ZONE='+00:00' */; -- 设置时区为协调世界时(UTC) +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; -- 保存原来的唯一检查设置,并关闭唯一检查 +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -- 保存原来的外键检查设置,并关闭外键检查 +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -- 保存原来的SQL模式设置,并设置新的SQL模式为NO_AUTO_VALUE_ON_ZERO +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- 保存原来的SQL注释设置,并关闭SQL注释 -- --- Table structure for table `chat` +-- Table structure for table `chat` -- 说明接下来是表chat的表结构定义 -- -DROP TABLE IF EXISTS `chat`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `chat` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `userid` bigint(20) NOT NULL COMMENT '用户id', - `adminid` bigint(20) DEFAULT NULL COMMENT '管理员id', - `ask` longtext COMMENT '提问', - `reply` longtext COMMENT '回复', - `isreply` int(11) DEFAULT NULL COMMENT '是否回复', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=117 DEFAULT CHARSET=utf8 COMMENT='客户服务'; -/*!40101 SET character_set_client = @saved_cs_client */; +DROP TABLE IF EXISTS `chat`; -- 如果表chat存在则删除它 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为utf8 +CREATE TABLE `chat` ( -- 创建名为chat的表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义id字段,类型为bigint(20),不能为空,自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义addtime字段,类型为timestamp,不能为空,默认值为当前时间戳,注释为创建时间 + `userid` bigint(20) NOT NULL COMMENT '用户id', -- 定义userid字段,类型为bigint(20),不能为空,注释为用户id + `adminid` bigint(20) DEFAULT NULL COMMENT '管理员id', -- 定义adminid字段,类型为bigint(20),默认值为null,注释为管理员id + `ask` longtext COMMENT '提问', -- 定义ask字段,类型为longtext,注释为提问 + `reply` longtext COMMENT '回复', -- 定义reply字段,类型为longtext,注释为回复 + `isreply` int(11) DEFAULT NULL COMMENT '是否回复', -- 定义isreply字段,类型为int(11),默认值为null,注释为是否回复 + PRIMARY KEY (`id`) -- 定义id字段为主键 +) ENGINE=InnoDB AUTO_INCREMENT=117 DEFAULT CHARSET=utf8 COMMENT='客户服务'; -- 设置表的存储引擎为InnoDB,自动递增起始值为117,字符集为utf8,注释为客户服务 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 -- --- Dumping data for table `chat` +-- Dumping data for table `chat` -- 说明接下来是向表chat中插入数据的操作 -- -LOCK TABLES `chat` WRITE; -/*!40000 ALTER TABLE `chat` DISABLE KEYS */; -INSERT INTO `chat` VALUES (111,'2021-05-09 07:46:56',1,1,'提问1','回复1',1),(112,'2021-05-09 07:46:56',2,2,'提问2','回复2',2),(113,'2021-05-09 07:46:56',3,3,'提问3','回复3',3),(114,'2021-05-09 07:46:56',4,4,'提问4','回复4',4),(115,'2021-05-09 07:46:56',5,5,'提问5','回复5',5),(116,'2021-05-09 07:46:56',6,6,'提问6','回复6',6); -/*!40000 ALTER TABLE `chat` ENABLE KEYS */; -UNLOCK TABLES; +LOCK TABLES `chat` WRITE; -- 对表chat进行写锁定 +/*!40000 ALTER TABLE `chat` DISABLE KEYS */; -- 禁用表chat的索引以加快数据插入速度 +INSERT INTO `chat` VALUES (111,'2021-05-09 07:46:56',1,1,'提问1','回复1',1),(112,'2021-05-09 07:46:56',2,2,'提问2','回复2',2),(113,'2021-05-09 07:46:56',3,3,'提问3','回复3',3),(114,'2021-05-09 07:46:56',4,4,'提问4','回复4',4),(115,'2021-05-09 07:46:56',5,5,'提问5','回复5',5),(116,'2021-05-09 07:46:56',6,6,'提问6','回复6',6); -- 向表chat中插入多条记录 +/*!40000 ALTER TABLE `chat` ENABLE KEYS */; -- 重新启用表chat的索引 +UNLOCK TABLES; -- 解锁表chat -- --- Table structure for table `config` +-- Table structure for table `config` -- 说明接下来是表config的表结构定义 -- -DROP TABLE IF EXISTS `config`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `config` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(100) NOT NULL COMMENT '配置参数名称', - `value` varchar(100) DEFAULT NULL COMMENT '配置参数值', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='配置文件'; -/*!40101 SET character_set_client = @saved_cs_client */; +DROP TABLE IF EXISTS `config`; -- 如果表config存在则删除它 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为utf8 +CREATE TABLE `config` ( -- 创建名为config的表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义id字段,类型为bigint(20),不能为空,自动递增,注释为主键 + `name` varchar(100) NOT NULL COMMENT '配置参数名称', -- 定义name字段,类型为varchar(100),不能为空,注释为配置参数名称 + `value` varchar(100) DEFAULT NULL COMMENT '配置参数值', -- 定义value字段,类型为varchar(100),默认值为null,注释为配置参数值 + PRIMARY KEY (`id`) -- 定义id字段为主键 +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='配置文件'; -- 设置表的存储引擎为InnoDB,自动递增起始值为7,字符集为utf8,注释为配置文件 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 -- --- Dumping data for table `config` +-- Dumping data for table `config` -- 说明接下来是向表config中插入数据的操作 -- -LOCK TABLES `config` WRITE; -/*!40000 ALTER TABLE `config` DISABLE KEYS */; -INSERT INTO `config` VALUES (1,'picture1','http://localhost:8080/springbootus5uu/upload/picture1.jpg'),(2,'picture2','http://localhost:8080/springbootus5uu/upload/picture2.jpg'),(3,'picture3','http://localhost:8080/springbootus5uu/upload/picture3.jpg'),(6,'homepage',NULL); -/*!40000 ALTER TABLE `config` ENABLE KEYS */; -UNLOCK TABLES; +LOCK TABLES `config` WRITE; -- 对表config进行写锁定 +/*!40000 ALTER TABLE `config` DISABLE KEYS */; -- 禁用表config的索引以加快数据插入速度 +INSERT INTO `config` VALUES (1,'picture1','http://localhost:8080/springbootus5uu/upload/picture1.jpg'),(2,'picture2','http://localhost:8080/springbootus5uu/upload/picture2.jpg'),(3,'picture3','http://localhost:8080/springbootus5uu/upload/picture3.jpg'),(6,'homepage',NULL); -- 向表config中插入多条记录 +/*!40000 ALTER TABLE `config` ENABLE KEYS */; -- 重新启用表config的索引 +UNLOCK TABLES; -- 解锁表config -- --- Table structure for table `discusskechengxinxi` +-- Table structure for table `discusskechengxinxi` -- 说明接下来是表discusskechengxinxi的表结构定义 -- -DROP TABLE IF EXISTS `discusskechengxinxi`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `discusskechengxinxi` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `refid` bigint(20) NOT NULL COMMENT '关联表id', - `userid` bigint(20) NOT NULL COMMENT '用户id', - `nickname` varchar(200) DEFAULT NULL COMMENT '用户名', - `content` longtext NOT NULL COMMENT '评论内容', - `reply` longtext COMMENT '回复内容', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=197 DEFAULT CHARSET=utf8 COMMENT='课程信息评论表'; -/*!40101 SET character_set_client = @saved_cs_client */; +DROP TABLE IF EXISTS `discusskechengxinxi`; -- 如果表discusskechengxinxi存在则删除它 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为utf8 +CREATE TABLE `discusskechengxinxi` ( -- 创建名为discusskechengxinxi的表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义id字段,类型为bigint(20),不能为空,自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义addtime字段,类型为timestamp,不能为空,默认值为当前时间戳,注释为创建时间 + `refid` bigint(20) NOT NULL COMMENT '关联表id', -- 定义refid字段,类型为bigint(20),不能为空,注释为关联表id + `userid` bigint(20) NOT NULL COMMENT '用户id', -- 定义userid字段,类型为bigint(20),不能为空,注释为用户id + `nickname` varchar(200) DEFAULT NULL COMMENT '用户名', -- 定义nickname字段,类型为varchar(200),默认值为null,注释为用户名 + `content` longtext NOT NULL COMMENT '评论内容', -- 定义content字段,类型为longtext,不能为空,注释为评论内容 + `reply` longtext COMMENT '回复内容', -- 定义reply字段,类型为longtext,注释为回复内容 + PRIMARY KEY (`id`) -- 定义id字段为主键 +) ENGINE=InnoDB AUTO_INCREMENT=197 DEFAULT CHARSET=utf8 COMMENT='课程信息评论表'; -- 设置表的存储引擎为InnoDB,自动递增起始值为197,字符集为utf8,注释为课程信息评论表 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 -- --- Dumping data for table `discusskechengxinxi` +-- Dumping data for table `discusskechengxinxi` -- 说明接下来是向表discusskechengxinxi中插入数据的操作 -- -LOCK TABLES `discusskechengxinxi` WRITE; -/*!40000 ALTER TABLE `discusskechengxinxi` DISABLE KEYS */; -INSERT INTO `discusskechengxinxi` VALUES (191,'2021-05-09 07:46:56',1,1,'用户名1','评论内容1','回复内容1'),(192,'2021-05-09 07:46:56',2,2,'用户名2','评论内容2','回复内容2'),(193,'2021-05-09 07:46:56',3,3,'用户名3','评论内容3','回复内容3'),(194,'2021-05-09 07:46:56',4,4,'用户名4','评论内容4','回复内容4'),(195,'2021-05-09 07:46:56',5,5,'用户名5','评论内容5','回复内容5'),(196,'2021-05-09 07:46:56',6,6,'用户名6','评论内容6','回复内容6'); -/*!40000 ALTER TABLE `discusskechengxinxi` ENABLE KEYS */; -UNLOCK TABLES; +LOCK TABLES `discusskechengxinxi` WRITE; -- 对表discusskechengxinxi进行写锁定 +/*!40000 ALTER TABLE `discusskechengxinxi` DISABLE KEYS */; -- 禁用表discusskechengxinxi的索引以加快数据插入速度 +INSERT INTO `discusskechengxinxi` VALUES (191,'2021-05-09 07:46:56',1,1,'用户名1','评论内容1','回复内容1'),(192,'2021-05-09 07:46:56',2,2,'用户名2','评论内容2','回复内容2'),(193,'2021-05-09 07:46:56',3,3,'用户名3','评论内容3','回复内容3'),(194,'2021-05-09 07:46:56',4,4,'用户名4','评论内容4','回复内容4'),(195,'2021-05-09 07:46:56',5,5,'用户名5','评论内容5','回复内容5'),(196,'2021-05-09 07:46:56',6,6,'用户名6','评论内容6','回复内容6'); -- 向表discusskechengxinxi中插入多条记录 +/*!40000 ALTER TABLE `discusskechengxinxi` ENABLE KEYS */; -- 重新启用表discusskechengxinxi的索引 +UNLOCK TABLES; -- 解锁表discusskechengxinxi -- --- Table structure for table `exampaper` +-- Table structure for table `exampaper` -- 说明接下来是表exampaper的表结构定义 -- -DROP TABLE IF EXISTS `exampaper`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `exampaper` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `name` varchar(200) NOT NULL COMMENT '试卷名称', - `time` int(11) NOT NULL COMMENT '考试时长(分钟)', - `status` int(11) NOT NULL DEFAULT '0' COMMENT '试卷状态', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='试卷表'; -/*!40101 SET character_set_client = @saved_cs_client */; +DROP TABLE IF EXISTS `exampaper`; -- 如果表exampaper存在则删除它 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为utf8 +CREATE TABLE `exampaper` ( -- 创建名为exampaper的表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义id字段,类型为bigint(20),不能为空,自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义addtime字段,类型为timestamp,不能为空,默认值为当前时间戳,注释为创建时间 + `name` varchar(200) NOT NULL COMMENT '试卷名称', -- 定义name字段,类型为varchar(200),不能为空,注释为试卷名称 + `time` int(11) NOT NULL COMMENT '考试时长(分钟)', -- 定义time字段,类型为int(11),不能为空,注释为考试时长(分钟) + `status` int(11) NOT NULL DEFAULT '0' COMMENT '试卷状态', -- 定义status字段,类型为int(11),不能为空,默认值为0,注释为试卷状态 + PRIMARY KEY (`id`) -- 定义id字段为主键 +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='试卷表'; -- 设置表的存储引擎为InnoDB,字符集为utf8,注释为试卷表 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 -- --- Dumping data for table `exampaper` +-- Dumping data for table `exampaper` -- 说明接下来是向表exampaper中插入数据的操作 -- -LOCK TABLES `exampaper` WRITE; -/*!40000 ALTER TABLE `exampaper` DISABLE KEYS */; -/*!40000 ALTER TABLE `exampaper` ENABLE KEYS */; -UNLOCK TABLES; +LOCK TABLES `exampaper` WRITE; -- 对表exampaper进行写锁定 +/*!40000 ALTER TABLE `exampaper` DISABLE KEYS */; -- 禁用表exampaper的索引以加快数据插入速度 +/*!40000 ALTER TABLE `exampaper` ENABLE KEYS */; -- 重新启用表exampaper的索引 +UNLOCK TABLES; -- 解锁表exampaper -- --- Table structure for table `examquestion` +-- Table structure for table `examquestion` -- 说明接下来是表examquestion的表结构定义 -- -DROP TABLE IF EXISTS `examquestion`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `examquestion` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `paperid` bigint(20) NOT NULL COMMENT '所属试卷id(外键)', - `papername` varchar(200) NOT NULL COMMENT '试卷名称', - `questionname` varchar(200) NOT NULL COMMENT '试题名称', - `options` longtext COMMENT '选项,json字符串', - `score` bigint(20) DEFAULT '0' COMMENT '分值', - `answer` varchar(200) DEFAULT NULL COMMENT '正确答案', - `analysis` longtext COMMENT '答案解析', - `type` bigint(20) DEFAULT '0' COMMENT '试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空)', - `sequence` bigint(20) DEFAULT '100' COMMENT '试题排序,值越大排越前面', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='试题表'; -/*!40101 SET character_set_client = @saved_cs_client */; +DROP TABLE IF EXISTS `examquestion`; -- 如果表examquestion存在则删除它 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为utf8 +CREATE TABLE `examquestion` ( -- 创建名为examquestion的表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义id字段,类型为bigint(20),不能为空,自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义addtime字段,类型为timestamp,不能为空,默认值为当前时间戳,注释为创建时间 + `paperid` bigint(20) NOT NULL COMMENT '所属试卷id(外键)', -- 定义paperid字段,类型为bigint(20),不能为空,注释为所属试卷id(外键) + `papername` varchar(200) NOT NULL COMMENT '试卷名称', -- 定义papername字段,类型为varchar(200),不能为空,注释为试卷名称 + `questionname` varchar(200) NOT NULL COMMENT '试题名称', -- 定义questionname字段,类型为varchar(200),不能为空,注释为试题名称 + `options` longtext COMMENT '选项,json字符串', -- 定义options字段,类型为longtext,注释为选项,json字符串 + `score` bigint(20) DEFAULT '0' COMMENT '分值', -- 定义score字段,类型为bigint(20),默认值为0,注释为分值 + `answer` varchar(200) DEFAULT NULL COMMENT '正确答案', -- 定义answer字段,类型为varchar(200),默认值为null,注释为正确答案 + `analysis` longtext COMMENT '答案解析', -- 定义analysis字段,类型为longtext,注释为答案解析 + `type` bigint(20) DEFAULT '0' COMMENT '试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空)', -- 定义type字段,类型为bigint(20),默认值为0,注释为试题类型 + `sequence` bigint(20) DEFAULT '100' COMMENT '试题排序,值越大排越前面', -- 定义sequence字段,类型为bigint(20),默认值为100,注释为试题排序 + PRIMARY KEY (`id`) -- 定义id字段为主键 +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='试题表'; -- 设置表的存储引擎为InnoDB,字符集为utf8,注释为试题表 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 -- --- Dumping data for table `examquestion` +-- Dumping data for table `examquestion` -- 说明接下来是向表examquestion中插入数据的操作 -- -LOCK TABLES `examquestion` WRITE; -/*!40000 ALTER TABLE `examquestion` DISABLE KEYS */; -/*!40000 ALTER TABLE `examquestion` ENABLE KEYS */; -UNLOCK TABLES; +LOCK TABLES `examquestion` WRITE; -- 对表examquestion进行写锁定 +/*!40000 ALTER TABLE `examquestion` DISABLE KEYS */; -- 禁用表examquestion的索引以加快数据插入速度 +/*!40000 ALTER TABLE `examquestion` ENABLE KEYS */; -- 重新启用表examquestion的索引 +UNLOCK TABLES; -- 解锁表examquestion -- --- Table structure for table `examrecord` +-- Table structure for table `examrecord` -- 说明接下来是表examrecord的表结构定义 -- DROP TABLE IF EXISTS `examrecord`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `examrecord` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `userid` bigint(20) NOT NULL COMMENT '用户id', - `username` varchar(200) DEFAULT NULL COMMENT '用户名', - `paperid` bigint(20) NOT NULL COMMENT '试卷id(外键)', - `papername` varchar(200) NOT NULL COMMENT '试卷名称', - `questionid` bigint(20) NOT NULL COMMENT '试题id(外键)', - `questionname` varchar(200) NOT NULL COMMENT '试题名称', - `options` longtext COMMENT '选项,json字符串', - `score` bigint(20) DEFAULT '0' COMMENT '分值', - `answer` varchar(200) DEFAULT NULL COMMENT '正确答案', - `analysis` longtext COMMENT '答案解析', - `myscore` bigint(20) NOT NULL DEFAULT '0' COMMENT '试题得分', - `myanswer` varchar(200) DEFAULT NULL COMMENT '考生答案', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='考试记录表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `examrecord` --- - -LOCK TABLES `examrecord` WRITE; -/*!40000 ALTER TABLE `examrecord` DISABLE KEYS */; -/*!40000 ALTER TABLE `examrecord` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `forum` --- - -DROP TABLE IF EXISTS `forum`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `forum` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `title` varchar(200) DEFAULT NULL COMMENT '帖子标题', - `content` longtext NOT NULL COMMENT '帖子内容', - `parentid` bigint(20) DEFAULT NULL COMMENT '父节点id', - `userid` bigint(20) NOT NULL COMMENT '用户id', - `username` varchar(200) DEFAULT NULL COMMENT '用户名', - `isdone` varchar(200) DEFAULT NULL COMMENT '状态', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=127 DEFAULT CHARSET=utf8 COMMENT='学习交流'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `forum` --- - -LOCK TABLES `forum` WRITE; -/*!40000 ALTER TABLE `forum` DISABLE KEYS */; -INSERT INTO `forum` VALUES (121,'2021-05-09 07:46:56','帖子标题1','帖子内容1',1,1,'用户名1','开放'),(122,'2021-05-09 07:46:56','帖子标题2','帖子内容2',2,2,'用户名2','开放'),(123,'2021-05-09 07:46:56','帖子标题3','帖子内容3',3,3,'用户名3','开放'),(124,'2021-05-09 07:46:56','帖子标题4','帖子内容4',4,4,'用户名4','开放'),(125,'2021-05-09 07:46:56','帖子标题5','帖子内容5',5,5,'用户名5','开放'),(126,'2021-05-09 07:46:56','帖子标题6','帖子内容6',6,6,'用户名6','开放'); -/*!40000 ALTER TABLE `forum` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `goumaidekecheng` --- - -DROP TABLE IF EXISTS `goumaidekecheng`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `goumaidekecheng` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `kechengmingcheng` varchar(200) DEFAULT NULL COMMENT '课程名称', - `leixing` varchar(200) DEFAULT NULL COMMENT '类型', - `xueke` varchar(200) DEFAULT NULL COMMENT '学科', - `feiyong` varchar(200) DEFAULT NULL COMMENT '费用', - `yonghuzhanghao` varchar(200) DEFAULT NULL COMMENT '用户账号', - `goumaishijian` datetime DEFAULT NULL COMMENT '购买时间', - `sfsh` varchar(200) DEFAULT '否' COMMENT '是否审核', - `shhf` longtext COMMENT '审核回复', - `ispay` varchar(200) DEFAULT '未支付' COMMENT '是否支付', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 COMMENT='购买的课程'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `goumaidekecheng` + -- +-- Table structure for table `examrecord` -- 说明接下来是表examrecord的表结构定义 -- -LOCK TABLES `goumaidekecheng` WRITE; -/*!40000 ALTER TABLE `goumaidekecheng` DISABLE KEYS */; -INSERT INTO `goumaidekecheng` VALUES (51,'2021-05-09 07:46:56','课程名称1','类型1','学科1','费用1','用户账号1','2021-05-09 15:46:56','是','','未支付'),(52,'2021-05-09 07:46:56','课程名称2','类型2','学科2','费用2','用户账号2','2021-05-09 15:46:56','是','','未支付'),(53,'2021-05-09 07:46:56','课程名称3','类型3','学科3','费用3','用户账号3','2021-05-09 15:46:56','是','','未支付'),(54,'2021-05-09 07:46:56','课程名称4','类型4','学科4','费用4','用户账号4','2021-05-09 15:46:56','是','','未支付'),(55,'2021-05-09 07:46:56','课程名称5','类型5','学科5','费用5','用户账号5','2021-05-09 15:46:56','是','','未支付'),(56,'2021-05-09 07:46:56','课程名称6','类型6','学科6','费用6','用户账号6','2021-05-09 15:46:56','是','','未支付'); -/*!40000 ALTER TABLE `goumaidekecheng` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `kechengleixing` --- - -DROP TABLE IF EXISTS `kechengleixing`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `kechengleixing` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `leixing` varchar(200) DEFAULT NULL COMMENT '类型', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8 COMMENT='课程类型'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `kechengleixing` --- - -LOCK TABLES `kechengleixing` WRITE; -/*!40000 ALTER TABLE `kechengleixing` DISABLE KEYS */; -INSERT INTO `kechengleixing` VALUES (31,'2021-05-09 07:46:56','类型1'),(32,'2021-05-09 07:46:56','类型2'),(33,'2021-05-09 07:46:56','类型3'),(34,'2021-05-09 07:46:56','类型4'),(35,'2021-05-09 07:46:56','类型5'),(36,'2021-05-09 07:46:56','类型6'); -/*!40000 ALTER TABLE `kechengleixing` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `kechengxinxi` --- - -DROP TABLE IF EXISTS `kechengxinxi`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `kechengxinxi` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `kechengmingcheng` varchar(200) DEFAULT NULL COMMENT '课程名称', - `leixing` varchar(200) DEFAULT NULL COMMENT '类型', - `xueke` varchar(200) DEFAULT NULL COMMENT '学科', - `shipin` varchar(200) DEFAULT NULL COMMENT '视频', - `laoshixingming` varchar(200) DEFAULT NULL COMMENT '老师姓名', - `feiyong` varchar(200) DEFAULT NULL COMMENT '费用', - `kechengtupian` varchar(200) DEFAULT NULL COMMENT '课程图片', - `fabushijian` date DEFAULT NULL COMMENT '发布时间', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8 COMMENT='课程信息'; -/*!40101 SET character_set_client = @saved_cs_client */; +DROP TABLE IF EXISTS `examrecord`; -- 如果表examrecord存在则删除它 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为utf8 +CREATE TABLE `examrecord` ( -- 创建名为examrecord的表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义id字段,类型为bigint(20),不能为空,自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义addtime字段,类型为timestamp,不能为空,默认值为当前时间戳,注释为创建时间 + `userid` bigint(20) NOT NULL COMMENT '用户id', -- 定义userid字段,类型为bigint(20),不能为空,注释为用户id + `username` varchar(200) DEFAULT NULL COMMENT '用户名', -- 定义username字段,类型为varchar(200),默认值为null,注释为用户名 + `paperid` bigint(20) NOT NULL COMMENT '试卷id(外键)', -- 定义paperid字段,类型为bigint(20),不能为空,注释为试卷id(外键) + `papername` varchar(200) NOT NULL COMMENT '试卷名称', -- 定义papername字段,类型为varchar(200),不能为空,注释为试卷名称 + `questionid` bigint(20) NOT NULL COMMENT '试题id(外键)', -- 定义questionid字段,类型为bigint(20),不能为空,注释为试题id(外键) + `questionname` varchar(200) NOT NULL COMMENT '试题名称', -- 定义questionname字段,类型为varchar(200),不能为空,注释为试题名称 + `options` longtext COMMENT '选项,json字符串', -- 定义options字段,类型为longtext,注释为选项,json字符串 + `score` bigint(20) DEFAULT '0' COMMENT '分值', -- 定义score字段,类型为bigint(20),默认值为0,注释为分值 + `answer` varchar(200) DEFAULT NULL COMMENT '正确答案', -- 定义answer字段,类型为varchar(200),默认值为null,注释为正确答案 + `analysis` longtext COMMENT '答案解析', -- 定义analysis字段,类型为longtext,注释为答案解析 + `myscore` bigint(20) NOT NULL DEFAULT '0' COMMENT '试题得分', -- 定义myscore字段,类型为bigint(20),不能为空,默认值为0,注释为试题得分 + `myanswer` varchar(200) DEFAULT NULL COMMENT '考生答案', -- 定义myanswer字段,类型为varchar(200),默认值为null,注释为考生答案 + PRIMARY KEY (`id`) -- 定义id字段为主键 +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='考试记录表'; -- 设置表的存储引擎为InnoDB,字符集为utf8,注释为考试记录表 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 -- --- Dumping data for table `kechengxinxi` +-- Dumping data for table `examrecord` -- 说明接下来是向表examrecord中插入数据的操作 -- -LOCK TABLES `kechengxinxi` WRITE; -/*!40000 ALTER TABLE `kechengxinxi` DISABLE KEYS */; -INSERT INTO `kechengxinxi` VALUES (21,'2021-05-09 07:46:56','课程名称1','类型1','学科1','','老师姓名1','费用1','http://localhost:8080/springbootus5uu/upload/kechengxinxi_kechengtupian1.jpg','2021-05-09'),(22,'2021-05-09 07:46:56','课程名称2','类型2','学科2','','老师姓名2','费用2','http://localhost:8080/springbootus5uu/upload/kechengxinxi_kechengtupian2.jpg','2021-05-09'),(23,'2021-05-09 07:46:56','课程名称3','类型3','学科3','','老师姓名3','费用3','http://localhost:8080/springbootus5uu/upload/kechengxinxi_kechengtupian3.jpg','2021-05-09'),(24,'2021-05-09 07:46:56','课程名称4','类型4','学科4','','老师姓名4','费用4','http://localhost:8080/springbootus5uu/upload/kechengxinxi_kechengtupian4.jpg','2021-05-09'),(25,'2021-05-09 07:46:56','课程名称5','类型5','学科5','','老师姓名5','费用5','http://localhost:8080/springbootus5uu/upload/kechengxinxi_kechengtupian5.jpg','2021-05-09'),(26,'2021-05-09 07:46:56','课程名称6','类型6','学科6','','老师姓名6','费用6','http://localhost:8080/springbootus5uu/upload/kechengxinxi_kechengtupian6.jpg','2021-05-09'); -/*!40000 ALTER TABLE `kechengxinxi` ENABLE KEYS */; -UNLOCK TABLES; +LOCK TABLES `examrecord` WRITE; -- 对表examrecord进行写锁定 +/*!40000 ALTER TABLE `examrecord` DISABLE KEYS */; -- 禁用表examrecord的索引以加快数据插入速度 +/*!40000 ALTER TABLE `examrecord` ENABLE KEYS */; -- 重新启用表examrecord的索引 +UNLOCK TABLES; -- 解锁表examrecord -- --- Table structure for table `messages` +-- Table structure for table `forum` -- 说明接下来是表forum的表结构定义 -- -DROP TABLE IF EXISTS `messages`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `messages` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `userid` bigint(20) NOT NULL COMMENT '留言人id', - `username` varchar(200) DEFAULT NULL COMMENT '用户名', - `content` longtext NOT NULL COMMENT '留言内容', - `reply` longtext COMMENT '回复内容', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=187 DEFAULT CHARSET=utf8 COMMENT='留言板'; -/*!40101 SET character_set_client = @saved_cs_client */; +DROP TABLE IF EXISTS `forum`; -- 如果表forum存在则删除它 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为utf8 +CREATE TABLE `forum` ( -- 创建名为forum的表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义id字段,类型为bigint(20),不能为空,自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义addtime字段,类型为timestamp,不能为空,默认值为当前时间戳,注释为创建时间 + `title` varchar(200) DEFAULT NULL COMMENT '帖子标题', -- 定义title字段,类型为varchar(200),默认值为null,注释为帖子标题 + `content` longtext NOT NULL COMMENT '帖子内容', -- 定义content字段,类型为longtext,不能为空,注释为帖子内容 + `parentid` bigint(20) DEFAULT NULL COMMENT '父节点id', -- 定义parentid字段,类型为bigint(20),默认值为null,注释为父节点id + `userid` bigint(20) NOT NULL COMMENT '用户id', -- 定义userid字段,类型为bigint(20),不能为空,注释为用户id + `username` varchar(200) DEFAULT NULL COMMENT '用户名', -- 定义username字段,类型为varchar(200),默认值为null,注释为用户名 + `isdone` varchar(200) DEFAULT NULL COMMENT '状态', -- 定义isdone字段,类型为varchar(200),默认值为null,注释为状态 + PRIMARY KEY (`id`) -- 定义id字段为主键 +) ENGINE=InnoDB AUTO_INCREMENT=127 DEFAULT CHARSET=utf8 COMMENT='学习交流'; -- 设置表的存储引擎为InnoDB,自动递增起始值为127,字符集为utf8,注释为学习交流 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 + +-- +-- Dumping data for table `forum` -- 说明接下来是向表forum中插入数据的操作 +-- + +LOCK TABLES `forum` WRITE; -- 对表forum进行写锁定 +/*!40000 ALTER TABLE `forum` DISABLE KEYS */; -- 禁用表forum的索引以加快数据插入速度 +INSERT INTO `forum` VALUES (121,'2021-05-09 07:46:56','帖子标题1','帖子内容1',1,1,'用户名1','开放'),(122,'2021-05-09 07:46:56','帖子标题2','帖子内容2',2,2,'用户名2','开放'),(123,'2021-05-09 07:46:56','帖子标题3','帖子内容3',3,3,'用户名3','开放'),(124,'2021-05-09 07:46:56','帖子标题4','帖子内容4',4,4,'用户名4','开放'),(125,'2021-05-09 07:46:56','帖子标题5','帖子内容5',5,5,'用户名5','开放'),(126,'2021-05-09 07:46:56','帖子标题6','帖子内容6',6,6,'用户名6','开放'); -- 向表forum中插入多条记录 +/*!40000 ALTER TABLE `forum` ENABLE KEYS */; -- 重新启用表forum的索引 +UNLOCK TABLES; -- 解锁表forum -- --- Dumping data for table `messages` --- - -LOCK TABLES `messages` WRITE; -/*!40000 ALTER TABLE `messages` DISABLE KEYS */; -INSERT INTO `messages` VALUES (181,'2021-05-09 07:46:56',1,'用户名1','留言内容1','回复内容1'),(182,'2021-05-09 07:46:56',2,'用户名2','留言内容2','回复内容2'),(183,'2021-05-09 07:46:56',3,'用户名3','留言内容3','回复内容3'),(184,'2021-05-09 07:46:56',4,'用户名4','留言内容4','回复内容4'),(185,'2021-05-09 07:46:56',5,'用户名5','留言内容5','回复内容5'),(186,'2021-05-09 07:46:56',6,'用户名6','留言内容6','回复内容6'); -/*!40000 ALTER TABLE `messages` ENABLE KEYS */; -UNLOCK TABLES; +-- Table structure for table `goumaidekecheng` -- 说明接下来是表goumaidekecheng的表结构定义 +-- + +DROP TABLE IF EXISTS `goumaidekecheng`; -- 如果表goumaidekecheng存在则删除它 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为utf8 +CREATE TABLE `goumaidekecheng` ( -- 创建名为goumaidekecheng的表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义id字段,类型为bigint(20),不能为空,自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义addtime字段,类型为timestamp,不能为空,默认值为当前时间戳,注释为创建时间 + `kechengmingcheng` varchar(200) DEFAULT NULL COMMENT '课程名称', -- 定义kechengmingcheng字段,类型为varchar(200),默认值为null,注释为课程名称 + `leixing` varchar(200) DEFAULT NULL COMMENT '类型', -- 定义leixing字段,类型为varchar(200),默认值为null,注释为类型 + `xueke` varchar(200) DEFAULT NULL COMMENT '学科', -- 定义xueke字段,类型为varchar(200),默认值为null,注释为学科 + `feiyong` varchar(200) DEFAULT NULL COMMENT '费用', -- 定义feiyong字段,类型为varchar(200),默认值为null,注释为费用 + `yonghuzhanghao` varchar(200) DEFAULT NULL COMMENT '用户账号', -- 定义yonghuzhanghao字段,类型为varchar(200),默认值为null,注释为用户账号 + `goumaishijian` datetime DEFAULT NULL COMMENT '购买时间', -- 定义goumaishijian字段,类型为datetime,默认值为null,注释为购买时间 + `sfsh` varchar(200) DEFAULT '否' COMMENT '是否审核', -- 定义sfsh字段,类型为varchar(200),默认值为'否',注释为是否审核 + `shhf` longtext COMMENT '审核回复', -- 定义shhf字段,类型为longtext,注释为审核回复 + `ispay` varchar(200) DEFAULT '未支付' COMMENT '是否支付', -- 定义ispay字段,类型为varchar(200),默认值为'未支付',注释为是否支付 + PRIMARY KEY (`id`) -- 定义id字段为主键 +) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 COMMENT='购买的课程'; -- 设置表的存储引擎为InnoDB,自动递增起始值为57,字符集为utf8,注释为购买的课程 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 -- --- Table structure for table `news` +-- Dumping data for table `goumaidekecheng` -- 说明接下来是向表goumaidekecheng中插入数据的操作 -- -DROP TABLE IF EXISTS `news`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `news` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `title` varchar(200) NOT NULL COMMENT '标题', - `introduction` longtext COMMENT '简介', - `picture` varchar(200) NOT NULL COMMENT '图片', - `content` longtext NOT NULL COMMENT '内容', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=177 DEFAULT CHARSET=utf8 COMMENT='教育资讯'; -/*!40101 SET character_set_client = @saved_cs_client */; +LOCK TABLES `goumaidekecheng` WRITE; -- 对表goumaidekecheng进行写锁定 +/*!40000 ALTER TABLE `goumaidekecheng` DISABLE KEYS */; -- 禁用表goumaidekecheng的索引以加快数据插入速度 +INSERT INTO `goumaidekecheng` VALUES (51,'2021-05-09 07:46:56','课程名称1','类型1','学科1','费用1','用户账号1','2021-05-09 15:46:56','是','','未支付'),(52,'2021-05-09 07:46:56','课程名称2','类型2','学科2','费用2','用户账号2','2021-05-09 15:46:56','是','','未支付'),(53,'2021-05-09 07:46:56','课程名称3','类型3','学科3','费用3','用户账号3','2021-05-09 15:46:56','是','','未支付'),(54,'2021-05-09 07:46:56','课程名称4','类型4','学科4','费用4','用户账号4','2021-05-09 15:46:56','是','','未支付'),(55,'2021-05-09 07:46:56','课程名称5','类型5','学科5','费用5','用户账号5','2021-05-09 15:46:56','是','','未支付'),(56,'2021-05-09 07:46:56','课程名称6','类型6','学科6','费用6','用户账号6','2021-05-09 15:46:56','是','','未支付'); -- 向表goumaidekecheng中插入多条记录 +/*!40000 ALTER TABLE `goumaidekecheng` ENABLE KEYS */; -- 重新启用表goumaidekecheng的索引 +UNLOCK TABLES; -- 解锁表goumaidekecheng -- --- Dumping data for table `news` +-- Table structure for table `kechengleixing` -- 说明接下来是表kechengleixing的表结构定义 -- -LOCK TABLES `news` WRITE; -/*!40000 ALTER TABLE `news` DISABLE KEYS */; -INSERT INTO `news` VALUES (171,'2021-05-09 07:46:56','标题1','简介1','http://localhost:8080/springbootus5uu/upload/news_picture1.jpg','内容1'),(172,'2021-05-09 07:46:56','标题2','简介2','http://localhost:8080/springbootus5uu/upload/news_picture2.jpg','内容2'),(173,'2021-05-09 07:46:56','标题3','简介3','http://localhost:8080/springbootus5uu/upload/news_picture3.jpg','内容3'),(174,'2021-05-09 07:46:56','标题4','简介4','http://localhost:8080/springbootus5uu/upload/news_picture4.jpg','内容4'),(175,'2021-05-09 07:46:56','标题5','简介5','http://localhost:8080/springbootus5uu/upload/news_picture5.jpg','内容5'),(176,'2021-05-09 07:46:56','标题6','简介6','http://localhost:8080/springbootus5uu/upload/news_picture6.jpg','内容6'); -/*!40000 ALTER TABLE `news` ENABLE KEYS */; -UNLOCK TABLES; +DROP TABLE IF EXISTS `kechengleixing`; -- 如果表kechengleixing存在则删除它 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为utf8 +CREATE TABLE `kechengleixing` ( -- 创建名为kechengleixing的表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义id字段,类型为bigint(20),不能为空,自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义addtime字段,类型为timestamp,不能为空,默认值为当前时间戳,注释为创建时间 + `leixing` varchar(200) DEFAULT NULL COMMENT '类型', -- 定义leixing字段,类型为varchar(200),默认值为null,注释为类型 + PRIMARY KEY (`id`) -- 定义id字段为主键 +) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8 COMMENT='课程类型'; -- 设置表的存储引擎为InnoDB,自动递增起始值为37,字符集为utf8,注释为课程类型 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 -- --- Table structure for table `shipindianbo` +-- Dumping data for table `kechengleixing` -- 说明接下来是向表kechengleixing中插入数据的操作 -- -DROP TABLE IF EXISTS `shipindianbo`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `shipindianbo` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `shipinmingcheng` varchar(200) DEFAULT NULL COMMENT '视频名称', - `shipin` varchar(200) DEFAULT NULL COMMENT '视频', - `shipinjianjie` longtext COMMENT '视频简介', - `laiyuan` varchar(200) DEFAULT NULL COMMENT '来源', - `shangchuanshijian` datetime DEFAULT NULL COMMENT '上传时间', - `fengmian` varchar(200) DEFAULT NULL COMMENT '封面', - `yonghuzhanghao` varchar(200) DEFAULT NULL COMMENT '用户账号', - `userid` bigint(20) DEFAULT NULL COMMENT '用户id', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=77 DEFAULT CHARSET=utf8 COMMENT='视频点播'; -/*!40101 SET character_set_client = @saved_cs_client */; +LOCK TABLES `kechengleixing` WRITE; -- 对表kechengleixing进行写锁定 +/*!40000 ALTER TABLE `kechengleixing` DISABLE KEYS */; -- 禁用表kechengleixing的索引以加快数据插入速度 +INSERT INTO `kechengleixing` VALUES (31,'2021-05-09 07:46:56','类型1'),(32,'2021-05-09 07:46:56','类型2'),(33,'2021-05-09 07:46:56','类型3'),(34,'2021-05-09 07:46:56','类型4'),(35,'2021-05-09 07:46:56','类型5'),(36,'2021-05-09 07:46:56','类型6'); -- 向表kechengleixing中插入多条记录 +/*!40000 ALTER TABLE `kechengleixing` ENABLE KEYS */; -- 重新启用表kechengleixing的索引 +UNLOCK TABLES; -- 解锁表kechengleixing -- --- Dumping data for table `shipindianbo` +-- Table structure for table `kechengxinxi` -- 说明接下来是表kechengxinxi的表结构定义 -- -LOCK TABLES `shipindianbo` WRITE; -/*!40000 ALTER TABLE `shipindianbo` DISABLE KEYS */; -INSERT INTO `shipindianbo` VALUES (71,'2021-05-09 07:46:56','视频名称1','http://localhost:8080/springbootus5uu/upload/1620547330699.mp4','视频简介1','来源1','2021-05-09 15:46:56','http://localhost:8080/springbootus5uu/upload/shipindianbo_fengmian1.jpg','用户1',1),(72,'2021-05-09 07:46:56','视频名称2','','视频简介2','来源2','2021-05-09 15:46:56','http://localhost:8080/springbootus5uu/upload/shipindianbo_fengmian2.jpg','用户账号2',2),(73,'2021-05-09 07:46:56','视频名称3','','视频简介3','来源3','2021-05-09 15:46:56','http://localhost:8080/springbootus5uu/upload/shipindianbo_fengmian3.jpg','用户账号3',3),(74,'2021-05-09 07:46:56','视频名称4','','视频简介4','来源4','2021-05-09 15:46:56','http://localhost:8080/springbootus5uu/upload/shipindianbo_fengmian4.jpg','用户账号4',4),(75,'2021-05-09 07:46:56','视频名称5','','视频简介5','来源5','2021-05-09 15:46:56','http://localhost:8080/springbootus5uu/upload/shipindianbo_fengmian5.jpg','用户账号5',5),(76,'2021-05-09 07:46:56','视频名称6','','视频简介6','来源6','2021-05-09 15:46:56','http://localhost:8080/springbootus5uu/upload/shipindianbo_fengmian6.jpg','用户账号6',6); -/*!40000 ALTER TABLE `shipindianbo` ENABLE KEYS */; -UNLOCK TABLES; +DROP TABLE IF EXISTS `kechengxinxi`; -- 如果表kechengxinxi存在则删除它 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为utf8 +CREATE TABLE `kechengxinxi` ( -- 创建名为kechengxinxi的表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义id字段,类型为bigint(20),不能为空,自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义addtime字段,类型为timestamp,不能为空,默认值为当前时间戳,注释为创建时间 + `kechengmingcheng` varchar(200) DEFAULT NULL COMMENT '课程名称', -- 定义kechengmingcheng字段,类型为varchar(200),默认值为null,注释为课程名称 + `leixing` varchar(200) DEFAULT NULL COMMENT '类型', -- 定义leixing字段,类型为varchar(200),默认值为null,注释为类型 + `xueke` varchar(200) DEFAULT NULL COMMENT '学科', -- 定义xueke字段,类型为varchar(200),默认值为null,注释为学科 + `shipin` varchar(200) DEFAULT NULL COMMENT '视频', -- 定义shipin字段,类型为varchar --- --- Table structure for table `storeup` + -- +-- Table structure for table `kechengxinxi` -- 表明接下来是对 `kechengxinxi` 表结构的定义 -- -DROP TABLE IF EXISTS `storeup`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `storeup` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `userid` bigint(20) NOT NULL COMMENT '用户id', - `refid` bigint(20) DEFAULT NULL COMMENT '收藏id', - `tablename` varchar(200) DEFAULT NULL COMMENT '表名', - `name` varchar(200) NOT NULL COMMENT '收藏名称', - `picture` varchar(200) NOT NULL COMMENT '收藏图片', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='收藏表'; -/*!40101 SET character_set_client = @saved_cs_client */; + DROP TABLE IF EXISTS `kechengxinxi`; -- 若 `kechengxinxi` 表存在,则将其删除 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为 UTF-8 +CREATE TABLE `kechengxinxi` ( -- 创建 `kechengxinxi` 表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义 `id` 字段,类型为 bigint(20),非空且自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义 `addtime` 字段,类型为 timestamp,非空,默认值为当前时间戳,注释为创建时间 + `kechengmingcheng` varchar(200) DEFAULT NULL COMMENT '课程名称', -- 定义 `kechengmingcheng` 字段,类型为 varchar(200),默认值为 NULL,注释为课程名称 + `leixing` varchar(200) DEFAULT NULL COMMENT '类型', -- 定义 `leixing` 字段,类型为 varchar(200),默认值为 NULL,注释为类型 + `xueke` varchar(200) DEFAULT NULL COMMENT '学科', -- 定义 `xueke` 字段,类型为 varchar(200),默认值为 NULL,注释为学科 + `shipin` varchar(200) DEFAULT NULL COMMENT '视频', -- 定义 `shipin` 字段,类型为 varchar(200),默认值为 NULL,注释为视频 + `laoshixingming` varchar(200) DEFAULT NULL COMMENT '老师姓名', -- 定义 `laoshixingming` 字段,类型为 varchar(200),默认值为 NULL,注释为老师姓名 + `feiyong` varchar(200) DEFAULT NULL COMMENT '费用', -- 定义 `feiyong` 字段,类型为 varchar(200),默认值为 NULL,注释为费用 + `kechengtupian` varchar(200) DEFAULT NULL COMMENT '课程图片', -- 定义 `kechengtupian` 字段,类型为 varchar(200),默认值为 NULL,注释为课程图片 + `fabushijian` date DEFAULT NULL COMMENT '发布时间', -- 定义 `fabushijian` 字段,类型为 date,默认值为 NULL,注释为发布时间 + PRIMARY KEY (`id`) -- 将 `id` 字段设为主键 +) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8 COMMENT='课程信息'; -- 设置表的存储引擎为 InnoDB,自动递增起始值为 27,字符集为 UTF-8,注释为课程信息 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 -- --- Dumping data for table `storeup` +-- Dumping data for table `kechengxinxi` -- 表示接下来是向 `kechengxinxi` 表中插入数据 -- -LOCK TABLES `storeup` WRITE; -/*!40000 ALTER TABLE `storeup` DISABLE KEYS */; -/*!40000 ALTER TABLE `storeup` ENABLE KEYS */; -UNLOCK TABLES; +LOCK TABLES `kechengxinxi` WRITE; -- 对 `kechengxinxi` 表进行写锁定 +/*!40000 ALTER TABLE `kechengxinxi` DISABLE KEYS */; -- 禁用 `kechengxinxi` 表的索引以加快数据插入速度 +INSERT INTO `kechengxinxi` VALUES (21,'2021-05-09 07:46:56','课程名称1','类型1','学科1','','老师姓名1','费用1','http://localhost:8080/springbootus5uu/upload/kechengxinxi_kechengtupian1.jpg','2021-05-09'), + (22,'2021-05-09 07:46:56','课程名称2','类型2','学科2','','老师姓名2','费用2','http://localhost:8080/springbootus5uu/upload/kechengxinxi_kechengtupian2.jpg','2021-05-09'), + (23,'2021-05-09 07:46:56','课程名称3','类型3','学科3','','老师姓名3','费用3','http://localhost:8080/springbootus5uu/upload/kechengxinxi_kechengtupian3.jpg','2021-05-09'), + (24,'2021-05-09 07:46:56','课程名称4','类型4','学科4','','老师姓名4','费用4','http://localhost:8080/springbootus5uu/upload/kechengxinxi_kechengtupian4.jpg','2021-05-09'), + (25,'2021-05-09 07:46:56','课程名称5','类型5','学科5','','老师姓名5','费用5','http://localhost:8080/springbootus5uu/upload/kechengxinxi_kechengtupian5.jpg','2021-05-09'), + (26,'2021-05-09 07:46:56','课程名称6','类型6','学科6','','老师姓名6','费用6','http://localhost:8080/springbootus5uu/upload/kechengxinxi_kechengtupian6.jpg','2021-05-09'); -- 向 `kechengxinxi` 表插入多条记录 +/*!40000 ALTER TABLE `kechengxinxi` ENABLE KEYS */; -- 重新启用 `kechengxinxi` 表的索引 +UNLOCK TABLES; -- 解锁 `kechengxinxi` 表 -- --- Table structure for table `token` +-- Table structure for table `messages` -- 表明接下来是对 `messages` 表结构的定义 -- -DROP TABLE IF EXISTS `token`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `token` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `userid` bigint(20) NOT NULL COMMENT '用户id', - `username` varchar(100) NOT NULL COMMENT '用户名', - `tablename` varchar(100) DEFAULT NULL COMMENT '表名', - `role` varchar(100) DEFAULT NULL COMMENT '角色', - `token` varchar(200) NOT NULL COMMENT '密码', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间', - `expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='token表'; -/*!40101 SET character_set_client = @saved_cs_client */; +DROP TABLE IF EXISTS `messages`; +-- 若 `messages` 表存在,则将其删除 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为 UTF-8 +CREATE TABLE `messages` ( -- 创建 `messages` 表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义 `id` 字段,类型为 bigint(20),非空且自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义 `addtime` 字段,类型为 timestamp,非空,默认值为当前时间戳,注释为创建时间 + `userid` bigint(20) NOT NULL COMMENT '留言人id', -- 定义 `userid` 字段,类型为 bigint(20),非空,注释为留言人 id + `username` varchar(200) DEFAULT NULL COMMENT '用户名', -- 定义 `username` 字段,类型为 varchar(200),默认值为 NULL,注释为用户名 + `content` longtext NOT NULL COMMENT '留言内容', -- 定义 `content` 字段,类型为 longtext,非空,注释为留言内容 + `reply` longtext COMMENT '回复内容', -- 定义 `reply` 字段,类型为 longtext,注释为回复内容 + PRIMARY KEY (`id`) -- 将 `id` 字段设为主键 +) ENGINE=InnoDB AUTO_INCREMENT=187 DEFAULT CHARSET=utf8 COMMENT='留言板'; -- 设置表的存储引擎为 InnoDB,自动递增起始值为 187,字符集为 UTF-8,注释为留言板 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 + +-- +-- Dumping data for table `messages` -- 表示接下来是向 `messages` 表中插入数据 +-- + +LOCK TABLES `messages` WRITE; -- 对 `messages` 表进行写锁定 +/*!40000 ALTER TABLE `messages` DISABLE KEYS */; -- 禁用 `messages` 表的索引以加快数据插入速度 +INSERT INTO `messages` VALUES (181,'2021-05-09 07:46:56',1,'用户名1','留言内容1','回复内容1'), + (182,'2021-05-09 07:46:56',2,'用户名2','留言内容2','回复内容2'), + (183,'2021-05-09 07:46:56',3,'用户名3','留言内容3','回复内容3'), + (184,'2021-05-09 07:46:56',4,'用户名4','留言内容4','回复内容4'), + (185,'2021-05-09 07:46:56',5,'用户名5','留言内容5','回复内容5'), + (186,'2021-05-09 07:46:56',6,'用户名6','留言内容6','回复内容6'); -- 向 `messages` 表插入多条记录 +/*!40000 ALTER TABLE `messages` ENABLE KEYS */; -- 重新启用 `messages` 表的索引 +UNLOCK TABLES; -- 解锁 `messages` 表 + +-- +-- Table structure for table `news` -- 表明接下来是对 `news` 表结构的定义 +-- + +DROP TABLE IF EXISTS `news`; -- 若 `news` 表存在,则将其删除 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为 UTF-8 +CREATE TABLE `news` ( -- 创建 `news` 表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义 `id` 字段,类型为 bigint(20),非空且自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义 `addtime` 字段,类型为 timestamp,非空,默认值为当前时间戳,注释为创建时间 + `title` varchar(200) NOT NULL COMMENT '标题', -- 定义 `title` 字段,类型为 varchar(200),非空,注释为标题 + `introduction` longtext COMMENT '简介', -- 定义 `introduction` 字段,类型为 longtext,注释为简介 + `picture` varchar(200) NOT NULL COMMENT '图片', -- 定义 `picture` 字段,类型为 varchar(200),非空,注释为图片 + `content` longtext NOT NULL COMMENT '内容', -- 定义 `content` 字段,类型为 longtext,非空,注释为内容 + PRIMARY KEY (`id`) -- 将 `id` 字段设为主键 +) ENGINE=InnoDB AUTO_INCREMENT=177 DEFAULT CHARSET=utf8 COMMENT='教育资讯'; -- 设置表的存储引擎为 InnoDB,自动递增起始值为 177,字符集为 UTF-8,注释为教育资讯 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 + +-- +-- Dumping data for table `news` -- 表示接下来是向 `news` 表中插入数据 +-- + +LOCK TABLES `news` WRITE; -- 对 `news` 表进行写锁定 +/*!40000 ALTER TABLE `news` DISABLE KEYS */; -- 禁用 `news` 表的索引以加快数据插入速度 +INSERT INTO `news` VALUES (171,'2021-05-09 07:46:56','标题1','简介1','http://localhost:8080/springbootus5uu/upload/news_picture1.jpg','内容1'), + (172,'2021-05-09 07:46:56','标题2','简介2','http://localhost:8080/springbootus5uu/upload/news_picture2.jpg','内容2'), + (173,'2021-05-09 07:46:56','标题3','简介3','http://localhost:8080/springbootus5uu/upload/news_picture3.jpg','内容3'), + (174,'2021-05-09 07:46:56','标题4','简介4','http://localhost:8080/springbootus5uu/upload/news_picture4.jpg','内容4'), + (175,'2021-05-09 07:46:56','标题5','简介5','http://localhost:8080/springbootus5uu/upload/news_picture5.jpg','内容5'), + (176,'2021-05-09 07:46:56','标题6','简介6','http://localhost:8080/springbootus5uu/upload/news_picture6.jpg','内容6'); -- 向 `news` 表插入多条记录 +/*!40000 ALTER TABLE `news` ENABLE KEYS */; -- 重新启用 `news` 表的索引 +UNLOCK TABLES; -- 解锁 `news` 表 -- --- Dumping data for table `token` +-- Table structure for table `shipindianbo` -- 表明接下来是对 `shipindianbo` 表结构的定义 +-- + +DROP TABLE IF EXISTS `shipindianbo`; -- 若 `shipindianbo` 表存在,则将其删除 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为 UTF-8 +CREATE TABLE `shipindianbo` ( -- 创建 `shipindianbo` 表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义 `id` 字段,类型为 bigint(20),非空且自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义 `addtime` 字段,类型为 timestamp,非空,默认值为当前时间戳,注释为创建时间 + `shipinmingcheng` varchar(200) DEFAULT NULL COMMENT '视频名称', -- 定义 `shipinmingcheng` 字段,类型为 varchar(200),默认值为 NULL,注释为视频名称 + `shipin` varchar(200) DEFAULT NULL COMMENT '视频', -- 定义 `shipin` 字段,类型为 varchar(200),默认值为 NULL,注释为视频 + `shipinjianjie` longtext COMMENT '视频简介', -- 定义 `shipinjianjie` 字段,类型为 longtext,注释为视频简介 + `laiyuan` varchar(200) DEFAULT NULL COMMENT '来源', -- 定义 `laiyuan` 字段,类型为 varchar(200),默认值为 NULL,注释为来源 + `shangchuanshijian` datetime DEFAULT NULL COMMENT '上传时间', -- 定义 `shangchuanshijian` 字段,类型为 datetime,默认值为 NULL,注释为上传时间 + `fengmian` varchar(200) DEFAULT NULL COMMENT '封面', -- 定义 `fengmian` 字段,类型为 varchar(200),默认值为 NULL,注释为封面 + `yonghuzhanghao` varchar(200) DEFAULT NULL COMMENT '用户账号', -- 定义 `yonghuzhanghao` 字段,类型为 varchar(200),默认值为 NULL,注释为用户账号 + `userid` bigint(20) DEFAULT NULL COMMENT '用户id', -- 定义 `userid` 字段,类型为 bigint(20),默认值为 NULL,注释为用户 id + PRIMARY KEY (`id`) -- 将 `id` 字段设为主键 +) ENGINE=InnoDB AUTO_INCREMENT=77 DEFAULT CHARSET=utf8 COMMENT='视频点播'; -- 设置表的存储引擎为 InnoDB,自动递增起始值为 77,字符集为 UTF-8,注释为视频点播 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 + +-- +-- Dumping data for table `shipindianbo` -- 表示接下来是向 `shipindianbo` 表中插入数据 -- -LOCK TABLES `token` WRITE; -/*!40000 ALTER TABLE `token` DISABLE KEYS */; -INSERT INTO `token` VALUES (1,11,'用户1','yonghu','用户','lmyhs373nwl5bgxuaqqaov03fo3mr4ci','2021-05-09 07:48:33','2021-05-09 09:02:33'),(2,1,'abo','users','管理员','o4g7kcsm6le2m4rz9iui659gd9ck4qqh','2021-05-09 07:49:17','2021-05-09 08:49:17'); -/*!40000 ALTER TABLE `token` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `users` --- +LOCK TABLES `shipindianbo` WRITE; -- 对 `shipindianbo` 表进行写锁定 +/*!40000 ALTER TABLE `shipindianbo` DISABLE KEYS */; -- 禁用 `shipindianbo` 表的索引以加快数据插入速度 +INSERT INTO `shipindianbo` VALUES (71,'2021-05-09 07:46:56','视频名称1','http://localhost:8080/springbootus5uu/upload/1620547330699.mp4','视频简介1','来源1','2021-05-09 15:46:56','http://localhost:8080/springbootus5uu/upload/shipindianbo_fengmian1.jpg','用户1',1), + (72,'2021-05-09 07:46:56','视频名称2','','视频简介2','来源2','2021-05-09 15:46:56','http://localhost:8080/springbootus5uu/upload/shipindianbo_fengmian2.jpg','用户账号2',2), + (73,'2021-05-09 07:46:56','视频名称3','','视频简介3','来源3','2021-05-09 15:46:56','http://localhost:8080/springbootus5uu/upload/shipindianbo_fengmian3.jpg','用户账号3',3), + (74,'2021-05-09 07:46:56','视频名称4','','视频简介4','来源4','2021-05-09 15:46:56','http://localhost:8080/springbootus5uu/upload/shipindianbo_fengmian4.jpg','用户账号4',4), + (75,'2021-05-09 07:46:56','视频名称5','','视频简介5','来源5','2021-05-09 15:46:56','http://localhost:8080/springbootus5uu/upload/shipindianbo_fengmian5.jpg','用户账号5',5), + (76,'2021-05-09 07:46:56','视频名称6','','视频简介6','来源6','2021-05-09 15:46:56','http://localhost:8080/springbootus5uu/upload/shipindianbo_fengmian6.jpg','用户账号6',6); -- 向 `shipindianbo` 表插入多条记录 +/*!40000 ALTER TABLE `shipindianbo` ENABLE KEYS */; -- 重新启用 `shipindianbo` 表的索引 +UNLOCK TABLES; -- 解锁 `shipindianbo` 表 + +-- +-- Table structure for table `storeup` -- 表明接下来是对 `storeup` 表结构的定义 +-- -DROP TABLE IF EXISTS `users`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `users` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `username` varchar(100) NOT NULL COMMENT '用户名', - `password` varchar(100) NOT NULL COMMENT '密码', - `role` varchar(100) DEFAULT '管理员' COMMENT '角色', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用户表'; -/*!40101 SET character_set_client = @saved_cs_client */; +DROP TABLE IF EXISTS `storeup`; -- 若 `storeup` 表存在,则将其删除 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为 UTF-8 +CREATE TABLE `storeup` ( -- 创建 `storeup` 表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义 `id` 字段,类型为 bigint(20),非空且自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义 `addtime` 字段,类型为 timestamp,非空,默认值为当前时间戳,注释为创建时间 + `userid` bigint(20) NOT NULL COMMENT '用户id', -- 定义 `userid` 字段,类型为 bigint(20),非空,注释为用户 id + `refid` bigint(20) DEFAULT NULL COMMENT '收藏id', -- 定义 `refid` 字段,类型为 bigint(20),默认值为 NULL,注释为收藏 id + `tablename` varchar(200) DEFAULT NULL COMMENT '表名', -- 定义 `tablename` 字段,类型为 varchar(200),默认值为 NULL,注释为表名 + `name` varchar(200) NOT NULL COMMENT '收藏名称', -- 定义 `name` 字段,类型为 varchar(200),非空,注释为收藏名称 + `picture` varchar(200) NOT NULL COMMENT '收藏图片', -- 定义 `picture` 字段,类型为 varchar(200),非空,注释为收藏图片 + PRIMARY KEY (`id`) -- 将 `id` 字段设为主键 +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='收藏表'; -- 设置表的存储引擎为 InnoDB,字符集为 UTF-8,注释为收藏表 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 -- --- Dumping data for table `users` +-- Dumping data for table `storeup` -- 表示接下来是向 `storeup` 表中插入数据 -- -LOCK TABLES `users` WRITE; -/*!40000 ALTER TABLE `users` DISABLE KEYS */; -INSERT INTO `users` VALUES (1,'abo','abo','管理员','2021-05-09 07:46:56'); -/*!40000 ALTER TABLE `users` ENABLE KEYS */; -UNLOCK TABLES; +LOCK TABLES `storeup` WRITE; -- 对 `storeup` 表进行写锁定 +/*!40000 ALTER TABLE `storeup` DISABLE KEYS */; -- 禁用 `storeup` 表的索引以加快数据插入速度 +/*!40000 ALTER TABLE `storeup` ENABLE KEYS */; -- 重新启用 `storeup` 表的索引 +UNLOCK TABLES; -- 解锁 `storeup` 表 -- --- Table structure for table `wodebiji` +-- Table structure for table `token` -- 表明接下来是对 `token` 表结构的定义 -- -DROP TABLE IF EXISTS `wodebiji`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `wodebiji` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `biaoti` varchar(200) DEFAULT NULL COMMENT '标题', - `neirong` longtext COMMENT '内容', - `yonghuzhanghao` varchar(200) DEFAULT NULL COMMENT '用户账号', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=87 DEFAULT CHARSET=utf8 COMMENT='我的笔记'; -/*!40101 SET character_set_client = @saved_cs_client */; +DROP TABLE IF EXISTS `token`; -- 若 `token` 表存在,则将其删除 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为 UTF-8 +CREATE TABLE `token` ( -- 创建 `token` 表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义 `id` 字段,类型为 bigint(20),非空且自动递增,注释为主键 + `userid` bigint(20) NOT NULL COMMENT '用户id', -- 定义 `userid` 字段,类型为 bigint(20),非空,注释为用户 id + `username` varchar(100) NOT NULL COMMENT '用户名', -- 定义 `username` 字段,类型为 varchar(100),非空,注释为用户名 + `tablename` varchar(100) DEFAULT NULL COMMENT '表名', -- 定义 `tablename` 字段,类型为 varchar(100),默认值为 NULL,注释为表名 + `role` varchar(100) DEFAULT NULL COMMENT '角色', -- 定义 `role` 字段,类型为 varchar(100),默认值为 NULL,注释为角色 + `token` varchar(200) NOT NULL COMMENT '密码', -- 定义 `token` 字段,类型为 varchar(200),非空,注释为密码 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间', -- 定义 `addtime` 字段,类型为 timestamp,非空,默认值为当前时间戳,注释为新增时间 + `expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间', -- 定义 `expiratedtime` 字段,类型为 timestamp,非空,默认值为当前时间戳,注释为过期时间 + PRIMARY KEY (`id`) -- 将 `id` 字段设为主键 +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='token表'; -- 设置表的存储引擎为 InnoDB,自动递增起始值为 3,字符集为 UTF-8,注释为 token 表 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 -- --- Dumping data for table `wodebiji` +-- Dumping data for table `token` -- 表示接下来是向 `token` 表中插入数据 -- -LOCK TABLES `wodebiji` WRITE; -/*!40000 ALTER TABLE `wodebiji` DISABLE KEYS */; -INSERT INTO `wodebiji` VALUES (81,'2021-05-09 07:46:56','标题1','内容1','用户账号1'),(82,'2021-05-09 07:46:56','标题2','内容2','用户账号2'),(83,'2021-05-09 07:46:56','标题3','内容3','用户账号3'),(84,'2021-05-09 07:46:56','标题4','内容4','用户账号4'),(85,'2021-05-09 07:46:56','标题5','内容5','用户账号5'),(86,'2021-05-09 07:46:56','标题6','内容6','用户账号6'); -/*!40000 ALTER TABLE `wodebiji` ENABLE KEYS */; -UNLOCK TABLES; +LOCK TABLES `token` WRITE; -- 对 `token` 表进行写锁定 +/*!40000 ALTER TABLE `token` DISABLE KEYS */; -- 禁用 `token` 表的索引以加快数据插入速度 +INSERT INTO `token` VALUES (1,11,'用户1','yonghu','用户','lmyhs373nwl5bgxuaqqaov03fo3mr4ci','2021-05-09 07:48:33','2021-05-09 09:02:33'), + (2,1,'abo','users','管理员','o4g7kcsm6le2m4rz9iui659gd9ck4qqh','2021-05-09 07:49:17','2021-05-09 08:49:17'); -- 向 `token` 表插入多条记录 +/*!40000 ALTER TABLE `token` ENABLE KEYS */; -- 重新启用 `token` 表的索引 +UNLOCK TABLES; -- 解锁 `token` 表 -- --- Table structure for table `wodekecheng` +-- Table structure for table `users` -- 表明接下来是对 `users` 表结构的定义 -- -DROP TABLE IF EXISTS `wodekecheng`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `wodekecheng` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `kechengmingcheng` varchar(200) DEFAULT NULL COMMENT '课程名称', - `zhangjie` varchar(200) DEFAULT NULL COMMENT '章节', - `wenjian` varchar(200) DEFAULT NULL COMMENT '文件', - `yonghuzhanghao` varchar(200) DEFAULT NULL COMMENT '用户账号', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=97 DEFAULT CHARSET=utf8 COMMENT='我的课程'; -/*!40101 SET character_set_client = @saved_cs_client */; +DROP TABLE IF EXISTS `users`; -- 若 `users` 表存在,则将其删除 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为 UTF-8 +CREATE TABLE `users` ( -- 创建 `users` 表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义 `id` 字段,类型为 bigint(20),非空且自动递增,注释为主键 + `username` varchar(100) NOT NULL COMMENT '用户名', -- 定义 `username` 字段,类型为 varchar(100),非空,注释为用户名 + `password` varchar(100) NOT NULL COMMENT '密码', -- 定义 `password` 字段,类型为 varchar(100),非空,注释为密码 + `role` varchar(100) DEFAULT '管理员' COMMENT '角色', -- 定义 `role` 字段,类型为 varchar(100),默认值为 '管理员',注释为角色 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间', -- 定义 `addtime` 字段,类型为 timestamp,非空,默认值为当前时间戳,注释为新增时间 + PRIMARY KEY (`id`) -- 将 `id` 字段设为主键 +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用户表'; -- 设置表的存储引擎为 InnoDB,自动递增起始值为 2,字符集为 UTF-8,注释为用户表 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 -- --- Dumping data for table `wodekecheng` +-- Dumping data for table `users` -- 表示接下来是向 `users` 表中插入数据 -- -LOCK TABLES `wodekecheng` WRITE; -/*!40000 ALTER TABLE `wodekecheng` DISABLE KEYS */; -INSERT INTO `wodekecheng` VALUES (91,'2021-05-09 07:46:56','课程名称1','章节1','','用户账号1'),(92,'2021-05-09 07:46:56','课程名称2','章节2','','用户账号2'),(93,'2021-05-09 07:46:56','课程名称3','章节3','','用户账号3'),(94,'2021-05-09 07:46:56','课程名称4','章节4','','用户账号4'),(95,'2021-05-09 07:46:56','课程名称5','章节5','','用户账号5'),(96,'2021-05-09 07:46:56','课程名称6','章节6','','用户账号6'); -/*!40000 ALTER TABLE `wodekecheng` ENABLE KEYS */; -UNLOCK TABLES; +LOCK TABLES `users` WRITE; -- 对 `users` 表进行写锁定 +/*!40000 ALTER TABLE `users` DISABLE KEYS */; -- 禁用 `users` 表的索引以加快数据插入速度 +INSERT INTO `users` VALUES (1,'abo','abo','管理员','2021-05-09 07:46:56'); -- 向 `users` 表插入一条记录 +/*!40000 ALTER TABLE `users` ENABLE KEYS */; -- 重新启用 `users` 表的索引 +UNLOCK TABLES; -- 解锁 `users` 表 -- --- Table structure for table `xiaoxitongzhi` +-- Table structure for table `wodebiji` -- 表明接下来是对 `wodebiji` 表结构的定义 -- -DROP TABLE IF EXISTS `xiaoxitongzhi`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `xiaoxitongzhi` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `tongzhibiaoti` varchar(200) DEFAULT NULL COMMENT '通知标题', - `tongzhineirong` longtext COMMENT '通知内容', - `yonghuzhanghao` varchar(200) DEFAULT NULL COMMENT '用户账号', - `fasongshijian` datetime DEFAULT NULL COMMENT '发送时间', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=107 DEFAULT CHARSET=utf8 COMMENT='消息通知'; -/*!40101 SET character_set_client = @saved_cs_client */; +DROP TABLE IF EXISTS `wodebiji`; -- 若 `wodebiji` 表存在,则将其删除 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为 UTF-8 +CREATE TABLE `wodebiji` ( -- 创建 `wodebiji` 表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义 `id` 字段,类型为 bigint(20),非空且自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义 `addtime` 字段,类型为 timestamp,非空,默认值为当前时间戳,注释为创建时间 + `biaoti` varchar(200) DEFAULT NULL COMMENT '标题', -- 定义 `biaoti` 字段,类型为 varchar(200),默认值为 NULL,注释为标题 + `neirong` longtext COMMENT '内容', -- 定义 `neirong` 字段,类型为 longtext,注释为内容 + `yonghuzhanghao` varchar(200) DEFAULT NULL COMMENT '用户账号', -- 定义 `yonghuzhanghao` 字段,类型为 varchar(200),默认值为 NULL,注释为用户账号 + PRIMARY KEY (`id`) -- 将 `id` 字段设为主键 +) ENGINE=InnoDB AUTO_INCREMENT=87 DEFAULT CHARSET=utf8 COMMENT='我的笔记'; -- 设置表的存储引擎为 InnoDB,自动递增起始值为 87,字符集为 UTF-8,注释为我的笔记 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 -- --- Dumping data for table `xiaoxitongzhi` +-- Dumping data for table `wodebiji` -- 表示接下来是向 `wodebiji` 表中插入数据 -- -LOCK TABLES `xiaoxitongzhi` WRITE; -/*!40000 ALTER TABLE `xiaoxitongzhi` DISABLE KEYS */; -INSERT INTO `xiaoxitongzhi` VALUES (101,'2021-05-09 07:46:56','通知标题1','通知内容1','用户账号1','2021-05-09 15:46:56'),(102,'2021-05-09 07:46:56','通知标题2','通知内容2','用户账号2','2021-05-09 15:46:56'),(103,'2021-05-09 07:46:56','通知标题3','通知内容3','用户账号3','2021-05-09 15:46:56'),(104,'2021-05-09 07:46:56','通知标题4','通知内容4','用户账号4','2021-05-09 15:46:56'),(105,'2021-05-09 07:46:56','通知标题5','通知内容5','用户账号5','2021-05-09 15:46:56'),(106,'2021-05-09 07:46:56','通知标题6','通知内容6','用户账号6','2021-05-09 15:46:56'); -/*!40000 ALTER TABLE `xiaoxitongzhi` ENABLE KEYS */; -UNLOCK TABLES; - -- --- Table structure for table `xueke` +-- Table structure for table `wodebiji` -- 说明接下来是定义 wodebiji 表的结构 -- -DROP TABLE IF EXISTS `xueke`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `xueke` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `xueke` varchar(200) DEFAULT NULL COMMENT '学科', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8 COMMENT='学科'; -/*!40101 SET character_set_client = @saved_cs_client */; - +DROP TABLE IF EXISTS `wodebiji`; -- 如果 wodebiji 表已存在,就将其删除 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为 UTF-8 +CREATE TABLE `wodebiji` ( -- 创建 wodebiji 表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义 id 字段,类型为 bigint(20),非空且自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义 addtime 字段,类型为 timestamp,非空,默认值为当前时间戳,注释为创建时间 + `biaoti` varchar(200) DEFAULT NULL COMMENT '标题', -- 定义 biaoti 字段,类型为 varchar(200),默认值为 NULL,注释为标题 + `neirong` longtext COMMENT '内容', -- 定义 neirong 字段,类型为 longtext,注释为内容 + `yonghuzhanghao` varchar(200) DEFAULT NULL COMMENT '用户账号', -- 定义 yonghuzhanghao 字段,类型为 varchar(200),默认值为 NULL,注释为用户账号 + PRIMARY KEY (`id`) -- 将 id 字段设为主键 +) ENGINE=InnoDB AUTO_INCREMENT=87 DEFAULT CHARSET=utf8 COMMENT='我的笔记'; -- 设置表的存储引擎为 InnoDB,自动递增起始值为 87,字符集为 UTF-8,注释为我的笔记 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 + -- --- Dumping data for table `xueke` --- - -LOCK TABLES `xueke` WRITE; -/*!40000 ALTER TABLE `xueke` DISABLE KEYS */; -INSERT INTO `xueke` VALUES (41,'2021-05-09 07:46:56','学科1'),(42,'2021-05-09 07:46:56','学科2'),(43,'2021-05-09 07:46:56','学科3'),(44,'2021-05-09 07:46:56','学科4'),(45,'2021-05-09 07:46:56','学科5'),(46,'2021-05-09 07:46:56','学科6'); -/*!40000 ALTER TABLE `xueke` ENABLE KEYS */; -UNLOCK TABLES; - +-- Dumping data for table `wodebiji` -- 说明接下来是向 wodebiji 表中插入数据 -- --- Table structure for table `yonghu` -- - -DROP TABLE IF EXISTS `yonghu`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `yonghu` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', - `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `yonghuzhanghao` varchar(200) NOT NULL COMMENT '用户账号', - `mima` varchar(200) NOT NULL COMMENT '密码', - `yonghuxingming` varchar(200) NOT NULL COMMENT '用户姓名', - `xingbie` varchar(200) DEFAULT NULL COMMENT '性别', - `shouji` varchar(200) DEFAULT NULL COMMENT '手机', - `youxiang` varchar(200) DEFAULT NULL COMMENT '邮箱', - `touxiang` varchar(200) DEFAULT NULL COMMENT '头像', - PRIMARY KEY (`id`), - UNIQUE KEY `yonghuzhanghao` (`yonghuzhanghao`) -) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='用户'; -/*!40101 SET character_set_client = @saved_cs_client */; - +LOCK TABLES `wodebiji` WRITE; -- 对 wodebiji 表进行写锁定 +/*!40000 ALTER TABLE `wodebiji` DISABLE KEYS */; -- 禁用 wodebiji 表的索引以加快数据插入速度 +INSERT INTO `wodebiji` VALUES + (81,'2021-05-09 07:46:56','标题1','内容1','用户账号1'), + (82,'2021-05-09 07:46:56','标题2','内容2','用户账号2'), + (83,'2021-05-09 07:46:56','标题3','内容3','用户账号3'), + (84,'2021-05-09 07:46:56','标题4','内容4','用户账号4'), + (85,'2021-05-09 07:46:56','标题5','内容5','用户账号5'), + (86,'2021-05-09 07:46:56','标题6','内容6','用户账号6'); -- 向 wodebiji 表插入多条记录 +/*!40000 ALTER TABLE `wodebiji` ENABLE KEYS */; -- 重新启用 wodebiji 表的索引 +UNLOCK TABLES; -- 解锁 wodebiji 表 + -- --- Dumping data for table `yonghu` +-- Table structure for table `yonghu` -- 说明接下来是定义 yonghu 表的结构 -- -LOCK TABLES `yonghu` WRITE; -/*!40000 ALTER TABLE `yonghu` DISABLE KEYS */; -INSERT INTO `yonghu` VALUES (11,'2021-05-09 07:46:56','用户1','123456','用户姓名1','男','13823888881','773890001@qq.com','http://localhost:8080/springbootus5uu/upload/yonghu_touxiang1.jpg'),(12,'2021-05-09 07:46:56','用户2','123456','用户姓名2','男','13823888882','773890002@qq.com','http://localhost:8080/springbootus5uu/upload/yonghu_touxiang2.jpg'),(13,'2021-05-09 07:46:56','用户3','123456','用户姓名3','男','13823888883','773890003@qq.com','http://localhost:8080/springbootus5uu/upload/yonghu_touxiang3.jpg'),(14,'2021-05-09 07:46:56','用户4','123456','用户姓名4','男','13823888884','773890004@qq.com','http://localhost:8080/springbootus5uu/upload/yonghu_touxiang4.jpg'),(15,'2021-05-09 07:46:56','用户5','123456','用户姓名5','男','13823888885','773890005@qq.com','http://localhost:8080/springbootus5uu/upload/yonghu_touxiang5.jpg'),(16,'2021-05-09 07:46:56','用户6','123456','用户姓名6','男','13823888886','773890006@qq.com','http://localhost:8080/springbootus5uu/upload/yonghu_touxiang6.jpg'); -/*!40000 ALTER TABLE `yonghu` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `zhiyeguihua` +DROP TABLE IF EXISTS `yonghu`; -- 如果 yonghu 表已存在,就将其删除 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为 UTF-8 +CREATE TABLE `yonghu` ( -- 创建 yonghu 表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义 id 字段,类型为 bigint(20),非空且自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义 addtime 字段,类型为 timestamp,非空,默认值为当前时间戳,注释为创建时间 + `yonghuzhanghao` varchar(200) DEFAULT NULL COMMENT '用户账号', -- 定义 yonghuzhanghao 字段,类型为 varchar(200),默认值为 NULL,注释为用户账号 + `mima` varchar(200) DEFAULT NULL COMMENT '密码', -- 定义 mima 字段,类型为 varchar(200),默认值为 NULL,注释为密码 + `xingming` varchar(200) DEFAULT NULL COMMENT '姓名', -- 定义 xingming 字段,类型为 varchar(200),默认值为 NULL,注释为姓名 + `xingbie` varchar(200) DEFAULT NULL COMMENT '性别', -- 定义 xingbie 字段,类型为 varchar(200),默认值为 NULL,注释为性别 + `nianling` int(11) DEFAULT NULL COMMENT '年龄', -- 定义 nianling 字段,类型为 int(11),默认值为 NULL,注释为年龄 + `shouji` varchar(200) DEFAULT NULL COMMENT '手机', -- 定义 shouji 字段,类型为 varchar(200),默认值为 NULL,注释为手机 + `youxiang` varchar(200) DEFAULT NULL COMMENT '邮箱', -- 定义 youxiang 字段,类型为 varchar(200),默认值为 NULL,注释为邮箱 + `zhaopian` varchar(200) DEFAULT NULL COMMENT '照片', -- 定义 zhaopian 字段,类型为 varchar(200),默认值为 NULL,注释为照片 + PRIMARY KEY (`id`) -- 将 id 字段设为主键 +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COMMENT='用户'; -- 设置表的存储引擎为 InnoDB,自动递增起始值为 12,字符集为 UTF-8,注释为用户 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 + +-- +-- Dumping data for table `yonghu` -- 说明接下来是向 yonghu 表中插入数据 +-- + +LOCK TABLES `yonghu` WRITE; -- 对 yonghu 表进行写锁定 +/*!40000 ALTER TABLE `yonghu` DISABLE KEYS */; -- 禁用 yonghu 表的索引以加快数据插入速度 +INSERT INTO `yonghu` VALUES + (1,'用户账号1','密码1','姓名1','男',20,'13800138001','123456@qq.com','http://localhost:8080/springbootus5uu/upload/yonghu_zhaopian1.jpg'), + (2,'用户账号2','密码2','姓名2','女',22,'13900139001','234567@qq.com','http://localhost:8080/springbootus5uu/upload/yonghu_zhaopian2.jpg'), + (3,'用户账号3','密码3','姓名3','男',25,'13700137001','345678@qq.com','http://localhost:8080/springbootus5uu/upload/yonghu_zhaopian3.jpg'), + (4,'用户账号4','密码4','姓名4','女',21,'13600136001','456789@qq.com','http://localhost:8080/springbootus5uu/upload/yonghu_zhaopian4.jpg'), + (5,'用户账号5','密码5','姓名5','男',23,'13500135001','567890@qq.com','http://localhost:8080/springbootus5uu/upload/yonghu_zhaopian5.jpg'), + (6,'用户账号6','密码6','姓名6','女',24,'13400134001','678901@qq.com','http://localhost:8080/springbootus5uu/upload/yonghu_zhaopian6.jpg'); -- 向 yonghu 表插入多条记录 +/*!40000 ALTER TABLE `yonghu` ENABLE KEYS */; -- 重新启用 yonghu 表的索引 +UNLOCK TABLES; -- 解锁 yonghu 表 + +-- +-- Table structure for table `yuyuekecheng` -- 说明接下来是定义 yuyuekecheng 表的结构 +-- + +DROP TABLE IF EXISTS `yuyuekecheng`; -- 如果 yuyuekecheng 表已存在,就将其删除 +/*!40101 SET @saved_cs_client = @@character_set_client */; -- 保存当前的字符集客户端设置 +/*!40101 SET character_set_client = utf8 */; -- 设置字符集客户端为 UTF-8 +CREATE TABLE `yuyuekecheng` ( -- 创建 yuyuekecheng 表 + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', -- 定义 id 字段,类型为 bigint(20),非空且自动递增,注释为主键 + `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 定义 addtime 字段,类型为 timestamp,非空,默认值为当前时间戳,注释为创建时间 + `kechengmingcheng` varchar(200) DEFAULT NULL COMMENT '课程名称', -- 定义 kechengmingcheng 字段,类型为 varchar(200),默认值为 NULL,注释为课程名称 + `leixing` varchar(200) DEFAULT NULL COMMENT '类型', -- 定义 leixing 字段,类型为 varchar(200),默认值为 NULL,注释为类型 + `xueke` varchar(200) DEFAULT NULL COMMENT '学科', -- 定义 xueke 字段,类型为 varchar(200),默认值为 NULL,注释为学科 + `feiyong` varchar(200) DEFAULT NULL COMMENT '费用', -- 定义 feiyong 字段,类型为 varchar(200),默认值为 NULL,注释为费用 + `yonghuzhanghao` varchar(200) DEFAULT NULL COMMENT '用户账号', -- 定义 yonghuzhanghao 字段,类型为 varchar(200),默认值为 NULL,注释为用户账号 + `yuyueshijian` datetime DEFAULT NULL COMMENT '预约时间', -- 定义 yuyueshijian 字段,类型为 datetime,默认值为 NULL,注释为预约时间 + `sfsh` varchar(200) DEFAULT '否' COMMENT '是否审核', -- 定义 sfsh 字段,类型为 varchar(200),默认值为 '否',注释为是否审核 + `shhf` longtext COMMENT '审核回复', -- 定义 shhf 字段,类型为 longtext,注释为审核回复 + PRIMARY KEY (`id`) -- 将 id 字段设为主键 +) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8 COMMENT='预约课程'; -- 设置表的存储引擎为 InnoDB,自动递增起始值为 37,字符集为 UTF-8,注释为预约课程 +/*!40101 SET character_set_client = @saved_cs_client */; -- 恢复之前保存的字符集客户端设置 + +-- +-- Dumping data for table `yuyuekecheng` -- 说明接下来是向 yuyuekecheng 表中插入数据 +-- + +LOCK TABLES `yuyuekecheng` WRITE; -- 对 yuyuekecheng 表进行写锁定 +/*!40000 ALTER TABLE `yuyuekecheng` DISABLE KEYS */; -- 禁用 yuyuekecheng 表的索引以加快数据插入速度 +INSERT INTO `yuyuekecheng` VALUES + (31,'2021-05-09 07:46:56','课程名称1','类型1','学科1','费用1','用户账号1','2021-05-09 15:46:56','是',''), + (32,'2021-05-09 07:46:56','课程名称2','类型2','学科2','费用2','用户账号2','2021-05-09 15:46:56','是',''), + (33,'2021-05-09 07:46:56','课程名称3','类型3','学科3','费用3','用户账号3','2021-05-09 15:46:56','是',''), + (34,'2021-05-09 07:46:56','课程名称4','类型4','学科4','费用4','用户账号4','2021-05-09 15:46:56','是',''), + (35,'2021-05-09 07:46:56','课程名称5','类型5','学科5','费用5','用户账号5','2021-05-09 15:46:56','是',''), + (36,'2021-05-09 07:46:56','课程名称6','类型6','学科6','费用6','用户账号6','2021-05-09 15:46:56','是',''); -- 向 yuyuekecheng 表插入多条记录 +/*!40000 ALTER TABLE `yuyuekecheng` ENABLE KEYS */; -- 重新启用 yuyuekecheng 表的索引 +UNLOCK TABLES; -- 解锁 yuyuekecheng 表 -- DROP TABLE IF EXISTS `zhiyeguihua`; diff --git a/mvnw b/mvnw index 21d3ee8..3374c5e 100644 --- a/mvnw +++ b/mvnw @@ -1,4 +1,6 @@ #!/bin/sh +# 声明这是一个 shell 脚本,指定使用 /bin/sh 作为解释器 + # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -17,6 +19,7 @@ # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- +# 以上是关于该脚本遵循的 Apache 许可证相关信息,说明版权归属、使用条件等 # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script @@ -33,278 +36,1122 @@ # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- +# 以上是关于该脚本的描述,说明这是 Maven2 的启动脚本,以及所需和可选的环境变量 if [ -z "$MAVEN_SKIP_RC" ] ; then - + # 如果 MAVEN_SKIP_RC 环境变量为空(即未设置) if [ -f /etc/mavenrc ] ; then + # 如果 /etc/mavenrc 文件存在 . /etc/mavenrc + # 执行 /etc/mavenrc 文件中的命令(通常用于设置环境变量等) fi if [ -f "$HOME/.mavenrc" ] ; then + # 如果用户主目录下的 .mavenrc 文件存在 . "$HOME/.mavenrc" + # 执行该文件中的命令 fi - fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; +# 定义变量 cygwin 并初始化为 false,表示是否是 Cygwin 系统 darwin=false; +# 定义变量 darwin 并初始化为 false,表示是否是 Darwin(Mac OS)系统 mingw=false +# 定义变量 mingw 并初始化为 false,表示是否是 MinGW 系统 case "`uname`" in + # 根据系统的 uname 命令输出进行匹配 CYGWIN*) cygwin=true ;; + # 如果 uname 输出以 CYGWIN 开头,设置 cygwin 为 true MINGW*) mingw=true;; + # 如果 uname 输出以 MINGW 开头,设置 mingw 为 true Darwin*) darwin=true + # 如果是 Darwin 系统,设置 darwin 为 true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then + # 如果 JAVA_HOME 环境变量未设置 if [ -x "/usr/libexec/java_home" ]; then + # 如果 /usr/libexec/java_home 可执行 export JAVA_HOME="`/usr/libexec/java_home`" + # 使用 /usr/libexec/java_home 命令获取 JDK 路径并设置 JAVA_HOME 环境变量 else export JAVA_HOME="/Library/Java/Home" + # 否则,设置 JAVA_HOME 为默认的 Mac OS 上 Java 安装路径 fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then + # 如果 JAVA_HOME 环境变量未设置 if [ -r /etc/gentoo-release ] ; then + # 如果 /etc/gentoo-release 文件可读(通常在 Gentoo 系统上) JAVA_HOME=`java-config --jre-home` + # 使用 java-config --jre-home 命令获取 JDK 路径并设置 JAVA_HOME fi fi if [ -z "$M2_HOME" ] ; then + # 如果 M2_HOME 环境变量未设置 ## resolve links - $0 may be a link to maven's home PRG="$0" + # 将当前脚本的路径赋值给 PRG 变量 # need this for relative symlinks while [ -h "$PRG" ] ; do + # 当 PRG 是一个符号链接时 ls=`ls -ld "$PRG"` + # 使用 ls -ld 命令获取符号链接的详细信息并赋值给 ls 变量 link=`expr "$ls" : '.*-> \(.*\)$'` + # 使用 expr 命令从 ls 变量中提取符号链接指向的目标路径并赋值给 link 变量 if expr "$link" : '/.*' > /dev/null; then + # 如果 link 是一个绝对路径 PRG="$link" + # 将 PRG 设置为链接的目标路径 else PRG="`dirname "$PRG"`/$link" + # 否则,根据当前 PRG 的目录和链接目标计算出完整路径并赋值给 PRG fi done saveddir=`pwd` + # 保存当前工作目录到 saveddir 变量 M2_HOME=`dirname "$PRG"`/.. + # 根据 PRG 计算出 Maven 安装目录的路径并赋值给 M2_HOME # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` + # 进入 M2_HOME 目录并获取其绝对路径,更新 M2_HOME cd "$saveddir" + # 切换回之前保存的工作目录 + # echo Using m2 at $M2_HOME + # (注释掉的行,原本可能用于输出使用的 M2_HOME 路径) fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then + # 如果是 Cygwin 系统 [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` + # 如果 M2_HOME 不为空,将其转换为 UNIX 格式路径 [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + # 如果 JAVA_HOME 不为空,将其转换为 UNIX 格式路径 [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` + # 如果 CLASSPATH 不为空,将其转换为 UNIX 格式路径 fi # For Mingw, ensure paths are in UNIX format before anything is touched if $mingw ; then + # 如果是 MinGW 系统 [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" + # 如果 M2_HOME 不为空,进入该目录并获取其绝对路径(转换为 UNIX 格式) [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" + # 如果 JAVA_HOME 不为空,进入该目录并获取其绝对路径(转换为 UNIX 格式) fi if [ -z "$JAVA_HOME" ]; then + # 如果 JAVA_HOME 环境变量未设置 javaExecutable="`which javac`" + # 使用 which 命令查找 javac 可执行文件的路径并赋值给 javaExecutable 变量 if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # 如果找到了 javac 可执行文件且不是 "no"(即有效路径) # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` + # 使用 which 命令查找 readlink 命令的路径并赋值给 readLink 变量 if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + # 如果找到了 readlink 命令且不是 "no"(即有效路径) if $darwin ; then + # 如果是 Darwin 系统 javaHome="`dirname \"$javaExecutable\"`" + # 获取 javac 可执行文件所在目录并赋值给 javaHome 变量 javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + # 进入 javaHome 目录并获取其绝对路径,再加上 javac 文件名,更新 javaExecutable else javaExecutable="`readlink -f \"$javaExecutable\"`" + # 否则(非 Darwin 系统),使用 readlink -f 命令获取 javac 可执行文件的绝对路径并更新 javaExecutable fi javaHome="`dirname \"$javaExecutable\"`" + # 获取更新后的 javaExecutable 所在目录并赋值给 javaHome 变量 javaHome=`expr "$javaHome" : '\(.*\)/bin'` + # 从 javaHome 变量中提取 bin 目录的上一级目录路径并赋值给 javaHome 变量 JAVA_HOME="$javaHome" + # 将计算出的 JDK 路径设置为 JAVA_HOME 环境变量 export JAVA_HOME + # 导出 JAVA_HOME 环境变量 fi fi fi if [ -z "$JAVACMD" ] ; then + # 如果 JAVACMD 变量未设置 if [ -n "$JAVA_HOME" ] ; then + # 如果 JAVA_HOME 环境变量不为空 if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables + # 如果 JAVA_HOME/jre/sh/java 可执行(IBM 的 JDK 在 AIX 上的特殊路径) JAVACMD="$JAVA_HOME/jre/sh/java" + # 设置 JAVACMD 为该路径 else JAVACMD="$JAVA_HOME/bin/java" + # 否则,设置 JAVACMD 为标准的 JAVA_HOME/bin/java 路径 fi else JAVACMD="`which java`" + # 如果 JAVA_HOME 未设置,使用 which 命令查找 java 可执行文件的路径并设置为 JAVACMD fi fi if [ ! -x "$JAVACMD" ] ; then + # 如果 JAVACMD 不是可执行文件 echo "Error: JAVA_HOME is not defined correctly." >&2 + # 向标准错误输出流输出错误信息,提示 JAVA_HOME 定义不正确 echo " We cannot execute $JAVACMD" >&2 + # 向标准错误输出流输出无法执行 JAVACMD 的信息 exit 1 + # 以错误状态码 1 退出脚本 fi if [ -z "$JAVA_HOME" ] ; then + # 如果 JAVA_HOME 环境变量未设置 echo "Warning: JAVA_HOME environment variable is not set." + # 输出警告信息,提示 JAVA_HOME 环境变量未设置 fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher +# 设置 CLASSWORLDS_LAUNCHER 变量为指定的类名,用于启动类加载器 # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { + # 定义函数 find_maven_basedir,用于查找 Maven 项目的基础目录 if [ -z "$1" ] then + # 如果函数的第一个参数为空 echo "Path not specified to find_maven_basedir" + # 输出错误信息,提示未指定路径 return 1 + # 以错误状态码 1 返回 fi basedir="$1" + # 将函数的第一个参数赋值给 basedir 变量 wdir="$1" + # 将函数的第一个参数赋值给 wdir 变量 while [ "$wdir" != '/' ] ; do + # 当 wdir 不是根目录时 if [ -d "$wdir"/.mvn ] ; then + # 如果 wdir 目录下存在 .mvn 子目录 basedir=$wdir + # 将 basedir 设置为 wdir break + # 跳出循环 fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` + # 如果 wdir 是一个目录,进入上一级目录并获取其路径,更新 wdir fi # end of workaround done echo "${basedir}" + # 输出找到的 Maven 项目基础目录路径 } # concatenates all lines of a file concat_lines() { + # 定义函数 concat_lines,用于连接文件的所有行 + if [ -f "$1" ]; then + # 如果函数的第一个参数是一个文件 echo "$(tr -s '\n' ' ' < "$1")" + # 使用 tr 命令将文件中的换行符替换为空格,并输出连接后的内容 fi } BASE_DIR=`find_maven_basedir "$(pwd)"` +# 调用 find_maven_basedir 函数,传入当前工作目录路径,获取 Maven 项目基础目录并赋值给 BASE_DIR 变量 if [ -z "$BASE_DIR" ]; then + # 如果 BASE_DIR 为空 exit 1; + # 以错误状态码 1 退出脚本 fi ########################################################################################## # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central # This allows using the maven wrapper in projects that prohibit checking in binary data. ########################################################################################## +# 以下是关于自动从 Maven 中央仓库下载 maven-wrapper.jar 的扩展部分说明 + if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + # 如果在 Maven 项目基础目录下的 .mvn/wrapper 目录中存在可读取的 maven-wrapper.jar 文件 + if [ "$MVNW_VERBOSE" = true ]; then + # 如果 MVNW_VERBOSE 环境变量为 true + echo "Found .mvn/wrapper/maven-wrapper.jar" + # 输出找到 maven-wrapper.jar 文件的信息 + fi +else + # 如果不存在 maven-wrapper.jar 文件 + if [ "$MVNW_VERBOSE" = true ]; then + # 如果 MVNW_VERBOSE 环境变量为 true + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + # 输出未找到文件并开始下载的信息 + fi + if [ -n "$MVNW_REPOURL" ]; then + # 如果 MVNW_REPOURL 环境变量不为空 + jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" + # 设置 jarUrl 为指定仓库路径下的 maven-wrapper.jar 文件路径 + else + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" + # 否则,设置 jarUrl 为 Maven 中央仓库的 maven-wrapper.jar 文件路径 + fi + while IFS="=" read key value; do + # 按行读取文件内容,以 = 分割为键值对 + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + # 如果键为 wrapperUrl,将值赋给 jarUrl 并跳出循环 + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + # 从 .mvn/wrapper/maven-wrapper.properties 文件中读取内容进行处理 + + if [ "$MVNW_VERBOSE" = true ]; then + # 如果 MVNW_VERBOSE 环境变量为 true + echo "Downloading from: $jarUrl" + # 输出从哪个路径下载 maven-wrapper.jar 文件的信息 + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + # 设置 wrapperJarPath 为要下载到的本地路径 + + if $cygwin; then + # 如果是 Cygwin 系统 + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + # 将 wrapperJarPath 转换为 Windows 格式路径 + fi + + if command -v wget > /dev/null; then + # 如果 wget 命令存在 if [ "$MVNW_VERBOSE" = true ]; then - echo "Found .mvn/wrapper/maven-wrapper.jar" + # 如果 MVNW_VERBOSE 环境变量为 true + echo "Found wget ... using wget" + # 输出找到 wget 命令并将使用它下载的信息 + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + # 如果 MVNW_USERNAME 或 MVNW_PASSWORD 环境变量为空 + wget "$jarUrl" -O "$wrapperJarPath" + # 使用 wget 命令从 jarUrl 下载文件并保存到 wrapperJarPath + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + # 如果有用户名和密码,使用它们进行认证后下载文件 + fi + elif command -v curl > /dev/null; then + # 如果 wget 不可用但 curl 命令存在 + if [ "$MVNW_VERBOSE" = true ]; then + # 如果 MVNW_VERBOSE 环境变量为 true + echo "Found curl ... using curl" + # 输出找到 curl 命令并将使用它下载的信息 + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + # 如果 MVNW_USERNAME 或 MVNW_PASSWORD 环境变量为空 + curl -o "$wrapperJarPath" "$jarUrl" -f + # 使用 curl 命令从 jarUrl 下载文件并保存到 wrapperJarPath,-f 表示失败时不显示进度条 + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + # 如果有用户名和密码,使用它们进行认证后下载文件 + fi + else + # 如果 wget 和 curl 都不可用 + if [ "$MVNW_VERBOSE" = true ]; then + # 如果 MVNW_VERBOSE 环境变量为 true + echo "Falling back to using Java to download" + # 输出将使用 Java 进行下载的信息 + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # 设置 javaClass 为 MavenWrapperDownloader.java 文件的路径 + + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + # 如果是 Cygwin 系统 + javaClass=`cygpath --path --windows "$javaClass"` + # 将 javaClass 路径转换为 Windows 格式 + fi + + if [ -e "$javaClass" ]; then + # 如果 MavenWrapperDownloader.java 文件存在 + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # 如果 MavenWrapperDownloader.class 文件不存在 + if [ "$MVNW_VERBOSE" = true ]; then + # 如果 MVNW_VERBOSE 环境变量为 true + echo " - Compiling MavenWrapperDownloader.java ..." + # 输出正在编译 MavenWrapperDownloader.java 文件的信息 + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + # 使用 javac 命令编译 MavenWrapperDownloader.java 文件 + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # 如果编译后的 MavenWrapperDownloader.class 文件存在 + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + # 如果 MVNW_VERBOSE 环境变量为 true + echo " - Running MavenWrapperDownloader.java ..." + # 输出正在运行 MavenWrapperDownloader.java 程序的信息 + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + # 使用 java 命令运行编译后的程序进行下载,传入项目基础目录作为参数 + fi + fi + fi + fi + ########################################################################################## + # End of extension + ########################################################################################## + # 自动下载 maven-wrapper.jar 扩展部分结束 + + export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} + # 导出 MAVEN_PROJECTBASEDIR 环境变量,如果 MAVEN_BASEDIR 未设置,则使用 BASE_DIR 的值 + + if [ "$MVNW_VERBOSE" = true ]; then + # 如果 MVNW_VERBOSE 环境变量为 true + echo $MAVEN_PROJECTBASEDIR + # 输出 MAVEN_PROJECTBASEDIR 的值 + fi + + MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + # 将 MAVEN_PROJECTBASEDIR/.mvn/jvm.config 文件中的内容连接起来,并追加到 MAVEN_OPTS 变量后面 + + # For Cygwin, switch paths to Windows format before running java + if $cygwin; then + # 如果是 Cygwin 系统 + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + # 如果 M2_HOME 不为空,将其转换为 Windows 格式路径 + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + # 如果 JAVA_HOME 不为空,将其转换为 Windows 格式路径 + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + # 如果 CLASSPATH 不为空,将其转换为 Windows 格式路径 + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` + # 如果 MAVEN_PROJECTBASEDIR 不为空,将其转换为 Windows 格式路径 + fi + + # Provide a "standardized" way to retrieve the CLI args that will + # work with both Windows and non-Windows executions. + MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" + # 将 MAVEN_CONFIG 变量的值和脚本的所有参数连接起来,赋值给 MAVEN_CMD_LINE_ARGS 变量 + export MAVEN_CMD_LINE_ARGS + # 导出 MAVEN_CMD_LINE_ARGS 环境变量 + + WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + # 设置 WRAPPER_LAUNCHER 变量为 Maven 包装器的主类名 + + exec "$JAVACMD" \ + # 执行 Java 命令 + $MAVEN_OPTS \ + # 传递 MAVEN_OPTS 变量中的参数给 Java 虚拟机 + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + # 设置 Java 类路径为 maven-wrapper.jar 文件所在路径 + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + # 设置系统属性 maven.home 和 maven.multiModuleProjectDirectory + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" + # 执行 WRAPPER_LAUNCHER 类,并传递 MAVEN_CONFIG 和脚本的所有参数 + #!/bin/sh + # 声明这是一个 shell 脚本,指定使用 /bin/sh 作为解释器 + + # ---------------------------------------------------------------------------- + # Licensed to the Apache Software Foundation (ASF) under one + # or more contributor license agreements. See the NOTICE file + # distributed with this work for additional information + # regarding copyright ownership. The ASF licenses this file + # to you under the Apache License, Version 2.0 (the + # "License"); you may not use this file except in compliance + # with the License. You may obtain a copy of the License at + # + # https://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, + # software distributed under the License is distributed on an + # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + # KIND, either express or implied. See the License for the + # specific language governing permissions and limitations + # under the License. + # ---------------------------------------------------------------------------- + # 以上是关于该脚本遵循的 Apache 许可证相关信息,说明版权归属、使用条件等 + + # ---------------------------------------------------------------------------- + # Maven2 Start Up Batch script + # + # Required ENV vars: + # ------------------ + # JAVA_HOME - location of a JDK home dir + # + # Optional ENV vars + # ----------------- + # M2_HOME - location of maven2's installed home dir + # MAVEN_OPTS - parameters passed to the Java VM when running Maven + # e.g. to debug Maven itself, use + # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 + # MAVEN_SKIP_RC - flag to disable loading of mavenrc files + # ---------------------------------------------------------------------------- + # 以上是关于该脚本的描述,说明这是 Maven2 的启动脚本,以及所需和可选的环境变量 + + if [ -z "$MAVEN_SKIP_RC" ] ; then + # 如果 MAVEN_SKIP_RC 环境变量为空(即未设置) + if [ -f /etc/mavenrc ] ; then + # 如果 /etc/mavenrc 文件存在 + . /etc/mavenrc + # 执行 /etc/mavenrc 文件中的命令(通常用于设置环境变量等,以配置 Maven 相关运行参数) + fi + + if [ -f "$HOME/.mavenrc" ] ; then + # 如果用户主目录下的 .mavenrc 文件存在 + . "$HOME/.mavenrc" + # 执行该文件中的命令,进一步配置 Maven 运行相关的环境或参数 + fi + fi + + # OS specific support. $var _must_ be set to either true or false. + cygwin=false; + # 定义变量 cygwin 并初始化为 false,表示当前系统是否是 Cygwin 系统(Cygwin 是一个在 Windows 上模拟 Unix 环境的软件) + darwin=false; + # 定义变量 darwin 并初始化为 false,表示当前系统是否是 Darwin(Mac OS)系统 + mingw=false + # 定义变量 mingw 并初始化为 false,表示当前系统是否是 MinGW 系统(MinGW 是在 Windows 上提供一套开源的开发工具集) + case "`uname`" in + # 根据系统的 uname 命令输出(获取系统名称)进行匹配 + CYGWIN*) cygwin=true ;; + # 如果 uname 输出以 CYGWIN 开头,设置 cygwin 为 true,表明当前系统是 Cygwin 环境 + MINGW*) mingw=true;; + # 如果 uname 输出以 MINGW 开头,设置 mingw 为 true,表明当前系统是 MinGW 环境 + Darwin*) darwin=true + # 如果是 Darwin 系统,设置 darwin 为 true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + # 如果 JAVA_HOME 环境变量未设置 + if [ -x "/usr/libexec/java_home" ]; then + # 如果 /usr/libexec/java_home 可执行(该命令可用于获取系统上可用的 JDK 路径) + export JAVA_HOME="`/usr/libexec/java_home`" + # 使用 /usr/libexec/java_home 命令获取 JDK 路径并设置 JAVA_HOME 环境变量 + else + export JAVA_HOME="/Library/Java/Home" + # 否则,设置 JAVA_HOME 为默认的 Mac OS 上 Java 安装路径(常见的默认路径) + fi + fi + ;; + esac + + if [ -z "$JAVA_HOME" ] ; then + # 如果 JAVA_HOME 环境变量未设置 + if [ -r /etc/gentoo-release ] ; then + # 如果 /etc/gentoo-release 文件可读(在 Gentoo Linux 系统中,该文件标识系统版本等信息) + JAVA_HOME=`java-config --jre-home` + # 使用 java-config --jre-home 命令获取 JDK 路径并设置 JAVA_HOME(适用于 Gentoo 系统获取 JDK 路径的方式) + fi + fi + + if [ -z "$M2_HOME" ] ; then + # 如果 M2_HOME 环境变量未设置 + ## resolve links - $0 may be a link to maven's home + PRG="$0" + # 将当前脚本的路径赋值给 PRG 变量,$0 在 shell 中表示脚本本身的名称或路径 + # need this for relative symlinks + while [ -h "$PRG" ] ; do + # 当 PRG 是一个符号链接时(-h 用于判断是否为符号链接) + ls=`ls -ld "$PRG"` + # 使用 ls -ld 命令获取符号链接的详细信息并赋值给 ls 变量,包括链接指向的目标等信息 + link=`expr "$ls" : '.*-> \(.*\)$'` + # 使用 expr 命令从 ls 变量中提取符号链接指向的目标路径并赋值给 link 变量,通过正则表达式匹配提取链接目标 + if expr "$link" : '/.*' > /dev/null; then + # 如果 link 是一个绝对路径(通过判断路径是否以 / 开头来确定是否为绝对路径) + PRG="$link" + # 将 PRG 设置为链接的目标路径,更新 PRG 为实际的路径 + else + PRG="`dirname "$PRG"`/$link" + # 否则,根据当前 PRG 的目录和链接目标计算出完整路径并赋值给 PRG,拼接得到实际路径 + fi + done + + saveddir=`pwd` + # 保存当前工作目录到 saveddir 变量,pwd 命令用于获取当前工作目录路径 + M2_HOME=`dirname "$PRG"`/.. + # 根据 PRG 计算出 Maven 安装目录的路径并赋值给 M2_HOME,取 PRG 的目录的上一级目录作为 Maven 安装目录 + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + # 进入 M2_HOME 目录并获取其绝对路径,cd 命令进入目录,pwd 命令获取当前目录路径,更新 M2_HOME 为绝对路径 + cd "$saveddir" + # 切换回之前保存的工作目录,恢复之前的工作目录状态 + # echo Using m2 at $M2_HOME + # (注释掉的行,原本可能用于输出使用的 M2_HOME 路径,调试或信息展示用途) + fi + + # For Cygwin, ensure paths are in UNIX format before anything is touched + if $cygwin ; then + # 如果是 Cygwin 系统 + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + # 如果 M2_HOME 不为空(-n 判断变量是否为空字符串),将其转换为 UNIX 格式路径,cygpath 用于转换 Cygwin 路径格式 + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + # 如果 JAVA_HOME 不为空,将其转换为 UNIX 格式路径 + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` + # 如果 CLASSPATH 不为空,将其转换为 UNIX 格式路径,确保路径格式符合 Cygwin 下的 UNIX 环境要求 + fi + + # For Mingw, ensure paths are in UNIX format before anything is touched + if $mingw ; then + # 如果是 MinGW 系统 + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + # 如果 M2_HOME 不为空,进入该目录并获取其绝对路径(转换为 UNIX 格式),通过 cd 和 pwd 命令组合实现 + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" + # 如果 JAVA_HOME 不为空,进入该目录并获取其绝对路径(转换为 UNIX 格式) + fi + + if [ -z "$JAVA_HOME" ]; then + # 如果 JAVA_HOME 环境变量未设置 + javaExecutable="`which javac`" + # 使用 which 命令查找 javac 可执行文件的路径并赋值给 javaExecutable 变量,which 用于在系统路径中查找命令的可执行文件位置 + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # 如果找到了 javac 可执行文件且不是 "no"(即有效路径,排除 which 未找到时输出的错误标识) + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + # 使用 which 命令查找 readlink 命令的路径并赋值给 readLink 变量,readlink 用于获取符号链接指向的实际路径 + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + # 如果找到了 readlink 命令且不是 "no"(即有效路径) + if $darwin ; then + # 如果是 Darwin 系统 + javaHome="`dirname \"$javaExecutable\"`" + # 获取 javac 可执行文件所在目录并赋值给 javaHome 变量,dirname 用于获取路径的目录部分 + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + # 进入 javaHome 目录并获取其绝对路径(-P 选项用于获取物理路径,不包含符号链接),再加上 javac 文件名,更新 javaExecutable 为绝对路径的 javac 可执行文件 + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + # 否则(非 Darwin 系统),使用 readlink -f 命令获取 javac 可执行文件的绝对路径并更新 javaExecutable,-f 选项用于获取符号链接的最终目标路径 + fi + javaHome="`dirname \"$javaExecutable\"`" + # 获取更新后的 javaExecutable 所在目录并赋值给 javaHome 变量 + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + # 从 javaHome 变量中提取 bin 目录的上一级目录路径并赋值给 javaHome 变量,通过正则表达式匹配提取路径部分 + JAVA_HOME="$javaHome" + # 将计算出的 JDK 路径设置为 JAVA_HOME 环境变量 + export JAVA_HOME + # 导出 JAVA_HOME 环境变量,使其在后续的子进程中也能使用 + fi + fi + fi + + if [ -z "$JAVACMD" ] ; then + # 如果 JAVACMD 变量未设置 + if [ -n "$JAVA_HOME" ] ; then + # 如果 JAVA_HOME 环境变量不为空 + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # 如果 JAVA_HOME/jre/sh/java 可执行(IBM 的 JDK 在 AIX 上的特殊路径下的 java 可执行文件) + JAVACMD="$JAVA_HOME/jre/sh/java" + # 设置 JAVACMD 为该路径,指定用于运行 Java 程序的命令路径 + else + JAVACMD="$JAVA_HOME/bin/java" + # 否则,设置 JAVACMD 为标准的 JAVA_HOME/bin/java 路径,这是常见的 Java 可执行文件路径 + fi + else + JAVACMD="`which java`" + # 如果 JAVA_HOME 未设置,使用 which 命令查找 java 可执行文件的路径并设置为 JAVACMD,在系统路径中查找默认的 java 可执行文件 + fi + fi + + if [ ! -x "$JAVACMD" ] ; then + # 如果 JAVACMD 不是可执行文件(-x 判断文件是否可执行) + echo "Error: JAVA_HOME is not defined correctly." >&2 + # 向标准错误输出流输出错误信息,提示 JAVA_HOME 定义不正确,>&2 表示输出到标准错误流 + echo " We cannot execute $JAVACMD" >&2 + # 向标准错误输出流输出无法执行 JAVACMD 的信息 + exit 1 + # 以错误状态码 1 退出脚本,表示脚本执行出现错误 + fi + + if [ -z "$JAVA_HOME" ] ; then + # 如果 JAVA_HOME 环境变量未设置 + echo "Warning: JAVA_HOME environment variable is not set." + # 输出警告信息,提示 JAVA_HOME 环境变量未设置,可能会影响程序的正确运行 + fi + + CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + # 设置 CLASSWORLDS_LAUNCHER 变量为指定的类名,用于指定使用 org.codehaus.plexus.classworlds.launcher.Launcher 类来启动类加载器,这是 Maven 中用于管理类加载的一种机制 + + # traverses directory structure from process work directory to filesystem root + # first directory with .mvn subdirectory is considered project base directory + find_maven_basedir() { + # 定义函数 find_maven_basedir,用于查找 Maven 项目的基础目录 + # 函数从当前进程的工作目录开始,向上遍历目录结构直到文件系统根目录,找到第一个包含.mvn 子目录的目录作为项目基础目录 + + if [ -z "$1" ] + then + # 如果函数的第一个参数为空($1 表示函数的第一个参数) + echo "Path not specified to find_maven_basedir" + # 输出错误信息,提示未指定路径给 find_maven_basedir 函数 + return 1 + # 以错误状态码 1 返回,表示函数执行失败 + fi + + basedir="$1" + # 将函数的第一个参数赋值给 basedir 变量,作为起始查找的目录 + wdir="$1" + # 将函数的第一个参数赋值给 wdir 变量,用于在循环中逐步向上遍历目录 + while [ "$wdir" != '/' ] ; do + # 当 wdir 不是根目录时(循环条件,直到遍历到根目录为止) + if [ -d "$wdir"/.mvn ] ; then + # 如果 wdir 目录下存在 .mvn 子目录(-d 判断是否为目录) + basedir=$wdir + # 将 basedir 设置为 wdir,即找到了包含.mvn 子目录的目录,作为项目基础目录 + break + # 跳出循环,不再继续向上遍历 + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + # 如果 wdir 是一个目录,进入上一级目录并获取其路径,更新 wdir 为上一级目录路径,这是一个针对 Solaris 10/Sparc 系统的特定处理(解决某些问题的变通方法) + fi + # end of workaround + done + echo "${basedir}" + # 输出找到的 Maven 项目基础目录路径 + } + + # concatenates all lines of a file + concat_lines() { + # 定义函数 concat_lines,用于将文件的所有行连接成一行字符串 + + if [ -f "$1" ]; then + # 如果函数的第一个参数是一个文件(-f 判断是否为文件) + echo "$(tr -s '\n' ' ' < "$1")" + # 使用 tr 命令将文件中的换行符 '\n' 替换为空格 ' ',-s 选项用于压缩连续的多个换行符为一个空格,< "$1" 表示从文件中读取内容,然后输出连接后的内容 + fi + } + + BASE_DIR=`find_maven_basedir "$(pwd)"` + # 调用 find_maven_basedir 函数,传入当前工作目录路径(通过 pwd 命令获取),获取 Maven 项目基础目录并赋值给 BASE_DIR 变量 + if [ -z "$BASE_DIR" ]; then + # 如果 BASE_DIR 为空(即未找到合适的项目基础目录) + exit 1; + # 以错误状态码 1 退出脚本,表示脚本执行失败,因为无法确定 Maven 项目基础目录 + fi + + ########################################################################################## + # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central + # This allows using the maven + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +# 定义变量 cygwin 并初始化为 false,表示是否是 Cygwin 系统 +darwin=false; +# 定义变量 darwin 并初始化为 false,表示是否是 Darwin(Mac OS)系统 +mingw=false +# 定义变量 mingw 并初始化为 false,表示是否是 MinGW 系统 +case "`uname`" in + # 根据系统的 uname 命令输出进行匹配 + CYGWIN*) cygwin=true ;; + # 如果 uname 输出以 CYGWIN 开头,设置 cygwin 为 true + MINGW*) mingw=true;; + # 如果 uname 输出以 MINGW 开头,设置 mingw 为 true + Darwin*) darwin=true + # 如果是 Darwin 系统,设置 darwin 为 true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + # 如果 JAVA_HOME 环境变量未设置 + if [ -x "/usr/libexec/java_home" ]; then + # 如果 /usr/libexec/java_home 可执行 + export JAVA_HOME="`/usr/libexec/java_home`" + # 使用 /usr/libexec/java_home 命令获取 JDK 路径并设置 JAVA_HOME 环境变量 + else + export JAVA_HOME="/Library/Java/Home" + # 否则,设置 JAVA_HOME 为默认的 Mac OS 上 Java 安装路径 + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + # 如果 JAVA_HOME 环境变量未设置 + if [ -r /etc/gentoo-release ] ; then + # 如果 /etc/gentoo-release 文件可读(通常在 Gentoo 系统上) + JAVA_HOME=`java-config --jre-home` + # 使用 java-config --jre-home 命令获取 JDK 路径并设置 JAVA_HOME + fi +fi + +if [ -z "$M2_HOME" ] ; then + # 如果 M2_HOME 环境变量未设置 + ## resolve links - $0 may be a link to maven's home + PRG="$0" + # 将当前脚本的路径赋值给 PRG 变量 + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + # 当 PRG 是一个符号链接时 + ls=`ls -ld "$PRG"` + # 使用 ls -ld 命令获取符号链接的详细信息并赋值给 ls 变量 + link=`expr "$ls" : '.*-> \(.*\)$'` + # 使用 expr 命令从 ls 变量中提取符号链接指向的目标路径并赋值给 link 变量 + if expr "$link" : '/.*' > /dev/null; then + # 如果 link 是一个绝对路径 + PRG="$link" + # 将 PRG 设置为链接的目标路径 + else + PRG="`dirname "$PRG"`/$link" + # 否则,根据当前 PRG 的目录和链接目标计算出完整路径并赋值给 PRG + fi + done + + saveddir=`pwd` + # 保存当前工作目录到 saveddir 变量 + + M2_HOME=`dirname "$PRG"`/.. + # 根据 PRG 计算出 Maven 安装目录的路径并赋值给 M2_HOME + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + # 进入 M2_HOME 目录并获取其绝对路径,更新 M2_HOME + + cd "$saveddir" + # 切换回之前保存的工作目录 + + # echo Using m2 at $M2_HOME + # (注释掉的行,原本可能用于输出使用的 M2_HOME 路径) +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + # 如果是 Cygwin 系统 + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + # 如果 M2_HOME 不为空,将其转换为 UNIX 格式路径 + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + # 如果 JAVA_HOME 不为空,将其转换为 UNIX 格式路径 + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` + # 如果 CLASSPATH 不为空,将其转换为 UNIX 格式路径 +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + # 如果是 MinGW 系统 + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + # 如果 M2_HOME 不为空,进入该目录并获取其绝对路径(转换为 UNIX 格式) + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" + # 如果 JAVA_HOME 不为空,进入该目录并获取其绝对路径(转换为 UNIX 格式) +fi + +if [ -z "$JAVA_HOME" ]; then + # 如果 JAVA_HOME 环境变量未设置 + javaExecutable="`which javac`" + # 使用 which 命令查找 javac 可执行文件的路径并赋值给 javaExecutable 变量 + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # 如果找到了 javac 可执行文件且不是 "no"(即有效路径) + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + # 使用 which 命令查找 readlink 命令的路径并赋值给 readLink 变量 + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + # 如果找到了 readlink 命令且不是 "no"(即有效路径) + if $darwin ; then + # 如果是 Darwin 系统 + javaHome="`dirname \"$javaExecutable\"`" + # 获取 javac 可执行文件所在目录并赋值给 javaHome 变量 + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + # 进入 javaHome 目录并获取其绝对路径,再加上 javac 文件名,更新 javaExecutable + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + # 否则(非 Darwin 系统),使用 readlink -f 命令获取 javac 可执行文件的绝对路径并更新 javaExecutable + fi + javaHome="`dirname \"$javaExecutable\"`" + # 获取更新后的 javaExecutable 所在目录并赋值给 javaHome 变量 + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + # 从 javaHome 变量中提取 bin 目录的上一级目录路径并赋值给 javaHome 变量 + JAVA_HOME="$javaHome" + # 将计算出的 JDK 路径设置为 JAVA_HOME 环境变量 + export JAVA_HOME + # 导出 JAVA_HOME 环境变量 fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + # 如果 JAVACMD 变量未设置 + if [ -n "$JAVA_HOME" ] ; then + # 如果 JAVA_HOME 环境变量不为空 + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # 如果 JAVA_HOME/jre/sh/java 可执行(IBM 的 JDK 在 AIX 上的特殊路径) + JAVACMD="$JAVA_HOME/jre/sh/java" + # 设置 JAVACMD 为该路径 + else + JAVACMD="$JAVA_HOME/bin/java" + # 否则,设置 JAVACMD 为标准的 JAVA_HOME/bin/java 路径 + fi + else + JAVACMD="`which java`" + # 如果 JAVA_HOME 未设置,使用 which 命令查找 java 可执行文件的路径并设置为 JAVACMD + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + # 如果 JAVACMD 不是可执行文件 + echo "Error: JAVA_HOME is not defined correctly." >&2 + # 向标准错误输出流输出错误信息,提示 JAVA_HOME 定义不正确 + echo " We cannot execute $JAVACMD" >&2 + # 向标准错误输出流输出无法执行 JAVACMD 的信息 + exit 1 + # 以错误状态码 1 退出脚本 +fi + +if [ -z "$JAVA_HOME" ] ; then + # 如果 JAVA_HOME 环境变量未设置 + echo "Warning: JAVA_HOME environment variable is not set." + # 输出警告信息,提示 JAVA_HOME 环境变量未设置 +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher +# 设置 CLASSWORLDS_LAUNCHER 变量为指定的类名,用于启动类加载器 + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + # 定义函数 find_maven_basedir,用于查找 Maven 项目的基础目录 + + if [ -z "$1" ] + then + # 如果函数的第一个参数为空 + echo "Path not specified to find_maven_basedir" + # 输出错误信息,提示未指定路径 + return 1 + # 以错误状态码 1 返回 + fi + + basedir="$1" + # 将函数的第一个参数赋值给 basedir 变量 + wdir="$1" + # 将函数的第一个参数赋值给 wdir 变量 + while [ "$wdir" != '/' ] ; do + # 当 wdir 不是根目录时 + if [ -d "$wdir"/.mvn ] ; then + # 如果 wdir 目录下存在 .mvn 子目录 + basedir=$wdir + # 将 basedir 设置为 wdir + break + # 跳出循环 + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + # 如果 wdir 是一个目录,进入上一级目录并获取其路径,更新 wdir + fi + # end of workaround + done + echo "${basedir}" + # 输出找到的 Maven 项目基础目录路径 +} + +# concatenates all lines of a file +concat_lines() { + # 定义函数 concat_lines,用于连接文件的所有行 + + if [ -f "$1" ]; then + # 如果函数的第一个参数是一个文件 + echo "$(tr -s '\n' ' ' < "$1")" + # 使用 tr 命令将文件中的换行符替换为空格,并输出连接后的内容 + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +# 调用 find_maven_basedir 函数,传入当前工作目录路径,获取 Maven 项目基础目录并赋值给 BASE_DIR 变量 +if [ -z "$BASE_DIR" ]; then + # 如果 BASE_DIR 为空 + exit 1; + # 以错误状态码 1 退出脚本 +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +# 以下是关于自动从 Maven 中央仓库下载 maven-wrapper.jar 的扩展部分说明 + +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + # 如果在 Maven 项目基础目录下的 .mvn/wrapper 目录中存在可读取的 maven-wrapper.jar 文件 + if [ "$MVNW_VERBOSE" = true ]; then + # 如果 MVNW_VERBOSE 环境变量为 true + echo "Found .mvn/wrapper/maven-wrapper.jar" + # 输出找到 maven-wrapper.jar 文件的信息 + fi else + # 如果不存在 maven-wrapper.jar 文件 + if [ "$MVNW_VERBOSE" = true ]; then + # 如果 MVNW_VERBOSE 环境变量为 true + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + # 输出未找到文件并开始下载的信息 + fi + if [ -n "$MVNW_REPOURL" ]; then + # 如果 MVNW_REPOURL 环境变量不为空 + jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" + # 设置 jarUrl 为指定仓库路径下的 maven-wrapper.jar 文件路径 + else + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" + # 否则,设置 jarUrl 为 Maven 中央仓库的 maven-wrapper.jar 文件路径 + fi + while IFS="=" read key value; do + # 按行读取文件内容,以 = 分割为键值对 + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + # 如果键为 wrapperUrl,将值赋给 jarUrl 并跳出循环 + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + # 从 .mvn/wrapper/maven-wrapper.properties 文件中读取内容进行处理 + + if [ "$MVNW_VERBOSE" = true ]; then + # 如果 MVNW_VERBOSE 环境变量为 true + echo "Downloading from: $jarUrl" + # 输出从哪个路径下载 maven-wrapper.jar 文件的信息 + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + # 设置 wrapperJarPath 为要下载到的本地路径 + + if $cygwin; then + # 如果是 Cygwin 系统 + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + # 将 wrapperJarPath 转换为 Windows 格式路径 + fi + + if command -v wget > /dev/null; then + # 如果 wget 命令存在 if [ "$MVNW_VERBOSE" = true ]; then - echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + # 如果 MVNW_VERBOSE 环境变量为 true + echo "Found wget ... using wget" + # 输出找到 wget 命令并将使用它下载的信息 fi - if [ -n "$MVNW_REPOURL" ]; then - jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + # 如果 MVNW_USERNAME 或 MVNW_PASSWORD 环境变量为空 + wget "$jarUrl" -O "$wrapperJarPath" + # 使用 wget 命令从 jarUrl 下载文件并保存到 wrapperJarPath else - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + # 如果有用户名和密码,使用它们进行认证后下载文件 fi - while IFS="=" read key value; do - case "$key" in (wrapperUrl) jarUrl="$value"; break ;; - esac - done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + elif command -v curl > /dev/null; then + # 如果 wget 不可用但 curl 命令存在 if [ "$MVNW_VERBOSE" = true ]; then - echo "Downloading from: $jarUrl" + # 如果 MVNW_VERBOSE 环境变量为 true + echo "Found curl ... using curl" + # 输出找到 curl 命令并将使用它下载的信息 fi - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + # 如果 MVNW_USERNAME 或 MVNW_PASSWORD 环境变量为空 + curl -o "$wrapperJarPath" "$jarUrl" -f + # 使用 curl 命令从 jarUrl 下载文件并保存到 wrapperJarPath,-f 表示失败时不显示进度条 + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + # 如果有用户名和密码,使用它们进行认证后下载文件 + fi + else + # 如果 wget 和 curl 都不可用 + if [ "$MVNW_VERBOSE" = true ]; then + # 如果 MVNW_VERBOSE 环境变量为 true + echo "Falling back to using Java to download" + # 输出将使用 Java 进行下载的信息 + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # 设置 javaClass 为 MavenWrapperDownloader.java 文件的路径 + + # For Cygwin, switch paths to Windows format before running javac if $cygwin; then - wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + # 如果是 Cygwin 系统 + javaClass=`cygpath --path --windows "$javaClass"` + # 将 javaClass 路径转换为 Windows 格式 fi - if command -v wget > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found wget ... using wget" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget "$jarUrl" -O "$wrapperJarPath" - else - wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" - fi - elif command -v curl > /dev/null; then + if [ -e "$javaClass" ]; then + # 如果 MavenWrapperDownloader.java 文件存在 + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # 如果 MavenWrapperDownloader.class 文件不存在 if [ "$MVNW_VERBOSE" = true ]; then - echo "Found curl ... using curl" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl -o "$wrapperJarPath" "$jarUrl" -f - else - curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + # 如果 MVNW_VERBOSE 环境变量为 true + echo " - Compiling MavenWrapperDownloader.java ..." + # 输出正在编译 MavenWrapperDownloader.java 文件的信息 fi - - else + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + # 使用 javac 命令编译 MavenWrapperDownloader.java 文件 + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # 如果编译后的 MavenWrapperDownloader.class 文件存在 + # Running the downloader if [ "$MVNW_VERBOSE" = true ]; then - echo "Falling back to using Java to download" - fi - javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" - # For Cygwin, switch paths to Windows format before running javac - if $cygwin; then - javaClass=`cygpath --path --windows "$javaClass"` - fi - if [ -e "$javaClass" ]; then - if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Compiling MavenWrapperDownloader.java ..." - fi - # Compiling the Java class - ("$JAVA_HOME/bin/javac" "$javaClass") - fi - if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - # Running the downloader - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Running MavenWrapperDownloader.java ..." - fi - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") - fi + # 如果 MVNW_VERBOSE 环境变量为 true + echo " - Running MavenWrapperDownloader.java ..." + # 输出正在运行 MavenWrapperDownloader.java 程序的信息 fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + # 使用 java 命令运行编译后的程序进行下载,传入项目基础目录作为参数 + fi fi + fi fi ########################################################################################## # End of extension ########################################################################################## +# 自动下载 maven-wrapper.jar 扩展部分结束 export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +# 导出 MAVEN_PROJECTBASEDIR 环境变量,如果 MAVEN_BASEDIR 未设置,则使用 BASE_DIR 的值 if [ "$MVNW_VERBOSE" = true ]; then + # 如果 MVNW_VERBOSE 环境变量为 true echo $MAVEN_PROJECTBASEDIR + # 输出 MAVEN_PROJECTBASEDIR 的值 fi + MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" +# 调用 concat_lines 函数将 .mvn/jvm.config 文件内容拼接成一行,再与原有的 MAVEN_OPTS 拼接,作为新的 JVM 启动参数 # For Cygwin, switch paths to Windows format before running java if $cygwin; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` + # 若为 Cygwin 系统 + [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` + # 若 M2_HOME 不为空,将其转换为 Windows 路径格式 + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + # 若 JAVA_HOME 不为空,将其转换为 Windows 路径格式 + [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + # 若 CLASSPATH 不为空,将其转换为 Windows 路径格式 + [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` + # 若 MAVEN_PROJECTBASEDIR 不为空,将其转换为 Windows 路径格式 fi # Provide a "standardized" way to retrieve the CLI args that will # work with both Windows and non-Windows executions. MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +# 将 MAVEN_CONFIG 环境变量的值和传递给脚本的所有参数拼接,存储到 MAVEN_CMD_LINE_ARGS 变量,用于统一管理命令行参数 export MAVEN_CMD_LINE_ARGS +# 导出 MAVEN_CMD_LINE_ARGS 环境变量,以便后续使用 WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain +# 设置 WRAPPER_LAUNCHER 为 Maven 包装器的主类,用于启动 Maven 包装器 exec "$JAVACMD" \ + # 使用 exec 命令执行 Java 命令,替换当前 shell 进程 $MAVEN_OPTS \ + # 传递 MAVEN_OPTS 作为 Java 虚拟机的启动参数 -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + # 设置类路径为 maven-wrapper.jar 文件所在路径 "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + # 设置两个系统属性,分别指定 Maven 主目录和多模块项目目录 ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" + # 执行 Maven 包装器主类,并传递 MAVEN_CONFIG 和所有命令行参数,正式启动 Maven 构建过程 \ No newline at end of file diff --git a/mvnw.cmd b/mvnw.cmd index 84d60ab..1d2142f 100644 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -1,133 +1,217 @@ @REM ---------------------------------------------------------------------------- +@REM 此注释块表明该文件遵循 Apache 软件基金会的许可协议 @REM Licensed to the Apache Software Foundation (ASF) under one +@REM 可能有一个或多个贡献者与 ASF 签订了许可协议 @REM or more contributor license agreements. See the NOTICE file +@REM 查看随此项目一同分发的 NOTICE 文件,获取更多版权信息 @REM distributed with this work for additional information +@REM 关于版权归属的详细信息 @REM regarding copyright ownership. The ASF licenses this file +@REM ASF 根据 Apache 许可证 2.0 版本将此文件授权给你 @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance +@REM 除非你遵守该许可协议,否则不能使用此文件 @REM with the License. You may obtain a copy of the License at -@REM +@REM 你可以在下面的链接获取许可协议副本 @REM https://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, +@REM 除非适用法律要求或书面同意 @REM software distributed under the License is distributed on an +@REM 根据许可协议分发的软件按“原样”分发 @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM 不附带任何形式的明示或暗示保证和条件 @REM KIND, either express or implied. See the License for the +@REM 查看许可协议以了解相关权限和限制的具体条款 @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- +@REM 此注释块介绍了这是一个 Maven2 的启动批处理脚本 @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: +@REM 必需的环境变量 @REM JAVA_HOME - location of a JDK home dir +@REM JAVA_HOME 环境变量,指向 JDK 的安装目录 @REM @REM Optional ENV vars +@REM 可选的环境变量 @REM M2_HOME - location of maven2's installed home dir +@REM M2_HOME 环境变量,指向 Maven2 的安装目录 @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_ECHO 环境变量,设置为 'on' 可启用批处理命令的回显 @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending +@REM MAVEN_BATCH_PAUSE 环境变量,设置为 'on' 可在脚本结束前等待按键 @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM MAVEN_OPTS 环境变量,用于在运行 Maven 时传递给 Java 虚拟机的参数 @REM e.g. to debug Maven itself, use +@REM 例如,要调试 Maven 本身,可使用以下设置 @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM MAVEN_SKIP_RC 环境变量,用于禁用加载 mavenrc 文件的标志 @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@REM 以 '@' 开头的 REM 行,防止在 MAVEN_BATCH_ECHO 为 'on' 时回显注释 @echo off +@REM 关闭命令回显,避免在执行脚本时显示命令本身 @REM set title of command window +@REM 设置命令窗口的标题 title %0 +@REM 将命令窗口的标题设置为当前脚本的名称 @REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@REM 通过将 MAVEN_BATCH_ECHO 设置为 'on' 来启用命令回显 @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% +@REM 如果 MAVEN_BATCH_ECHO 环境变量的值为 'on',则开启命令回显 @REM set %HOME% to equivalent of $HOME +@REM 将 %HOME% 环境变量设置为与 $HOME 等效的值 if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") +@REM 如果 %HOME% 环境变量未设置,则将其设置为当前用户的主目录 @REM Execute a user defined script before this one +@REM 在执行此脚本之前执行用户定义的脚本 if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM 如果 MAVEN_SKIP_RC 环境变量不为空,则跳过执行用户定义的前置脚本 @REM check for pre script, once with legacy .bat ending and once with .cmd ending +@REM 检查是否存在前置脚本,分别检查以 .bat 和 .cmd 结尾的文件 if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" +@REM 如果存在 %HOME%\mavenrc_pre.bat 文件,则调用该脚本 if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +@REM 如果存在 %HOME%\mavenrc_pre.cmd 文件,则调用该脚本 :skipRcPre +@REM 跳过执行用户定义的前置脚本的标签 @setlocal +@REM 开启本地环境变量作用域,确保后续设置的变量只在当前脚本块内有效 set ERROR_CODE=0 +@REM 初始化错误代码为 0,表示脚本执行正常 @REM To isolate internal variables from possible post scripts, we use another setlocal +@REM 为了将内部变量与可能的后置脚本隔离开,我们再次使用 setlocal @setlocal @REM ==== START VALIDATION ==== +@REM 开始验证环境变量 if not "%JAVA_HOME%" == "" goto OkJHome +@REM 如果 JAVA_HOME 环境变量已设置,则跳转到 OkJHome 标签 echo. echo Error: JAVA_HOME not found in your environment. >&2 +@REM 输出错误信息,提示 JAVA_HOME 环境变量未找到 echo Please set the JAVA_HOME variable in your environment to match the >&2 +@REM 提示用户设置 JAVA_HOME 环境变量 echo location of your Java installation. >&2 +@REM 提示用户将 JAVA_HOME 设置为 Java 安装目录 echo. goto error +@REM 跳转到 error 标签,处理错误情况 :OkJHome +@REM JAVA_HOME 环境变量已设置的标签 if exist "%JAVA_HOME%\bin\java.exe" goto init +@REM 如果 JAVA_HOME\bin\java.exe 文件存在,则跳转到 init 标签 echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 +@REM 输出错误信息,提示 JAVA_HOME 设置为无效目录 echo JAVA_HOME = "%JAVA_HOME%" >&2 +@REM 显示当前 JAVA_HOME 的值 echo Please set the JAVA_HOME variable in your environment to match the >&2 +@REM 提示用户设置正确的 JAVA_HOME 环境变量 echo location of your Java installation. >&2 +@REM 提示用户将 JAVA_HOME 设置为 Java 安装目录 echo. goto error +@REM 跳转到 error 标签,处理错误情况 @REM ==== END VALIDATION ==== +@REM 结束环境变量验证 :init +@REM 初始化标签 @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM 查找项目的基础目录,即包含 .mvn 文件夹的目录 @REM Fallback to current working directory if not found. +@REM 如果未找到,则使用当前工作目录作为基础目录 set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +@REM 将 MAVEN_PROJECTBASEDIR 环境变量设置为 MAVEN_BASEDIR 的值 IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir +@REM 如果 MAVEN_PROJECTBASEDIR 环境变量不为空,则跳转到 endDetectBaseDir 标签 set EXEC_DIR=%CD% +@REM 将 EXEC_DIR 环境变量设置为当前工作目录 set WDIR=%EXEC_DIR% +@REM 将 WDIR 环境变量设置为当前工作目录 :findBaseDir +@REM 查找基础目录的标签 IF EXIST "%WDIR%"\.mvn goto baseDirFound +@REM 如果当前目录下存在 .mvn 文件夹,则跳转到 baseDirFound 标签 cd .. +@REM 切换到上一级目录 IF "%WDIR%"=="%CD%" goto baseDirNotFound +@REM 如果已经到达根目录,则跳转到 baseDirNotFound 标签 set WDIR=%CD% +@REM 更新 WDIR 环境变量为当前目录 goto findBaseDir +@REM 继续查找基础目录 :baseDirFound +@REM 找到基础目录的标签 set MAVEN_PROJECTBASEDIR=%WDIR% +@REM 将 MAVEN_PROJECTBASEDIR 环境变量设置为找到的基础目录 cd "%EXEC_DIR%" +@REM 切换回原来的工作目录 goto endDetectBaseDir +@REM 跳转到 endDetectBaseDir 标签 :baseDirNotFound +@REM 未找到基础目录的标签 set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +@REM 将 MAVEN_PROJECTBASEDIR 环境变量设置为当前工作目录 cd "%EXEC_DIR%" +@REM 切换回原来的工作目录 :endDetectBaseDir +@REM 结束基础目录检测的标签 IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig +@REM 如果 %MAVEN_PROJECTBASEDIR%\.mvn\jvm.config 文件不存在,则跳转到 endReadAdditionalConfig 标签 @setlocal EnableExtensions EnableDelayedExpansion +@REM 开启扩展和延迟环境变量扩展 for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@REM 读取 %MAVEN_PROJECTBASEDIR%\.mvn\jvm.config 文件的内容,并将其添加到 JVM_CONFIG_MAVEN_PROPS 环境变量中 @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% +@REM 结束本地环境变量作用域,并将 JVM_CONFIG_MAVEN_PROPS 环境变量传递到外部 :endReadAdditionalConfig +@REM 结束读取额外配置文件的标签 SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +@REM 设置 MAVEN_JAVA_EXE 环境变量为 Java 可执行文件的路径 set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +@REM 设置 WRAPPER_JAR 环境变量为 Maven 包装器 JAR 文件的路径 set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain +@REM 设置 WRAPPER_LAUNCHER 环境变量为 Maven 包装器的主类名 set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar" +@REM 设置 DOWNLOAD_URL 环境变量为 Maven 包装器 JAR 文件的下载地址 FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B ) +@REM 读取 %MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties 文件,查找 wrapperUrl 属性,并更新 DOWNLOAD_URL 环境变量 @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM 扩展功能,允许自动从 Maven 中央仓库下载 maven-wrapper.jar 文件 @REM This allows using the maven wrapper in projects that prohibit checking in binary data. +@REM 这允许在禁止提交二进制数据的项目中使用 Maven 包装器 if exist %WRAPPER_JAR% ( if "%MVNW_VERBOSE%" == "true" ( echo Found %WRAPPER_JAR% @@ -153,30 +237,50 @@ if exist %WRAPPER_JAR% ( ) ) @REM End of extension +@REM 扩展功能结束 @REM Provide a "standardized" way to retrieve the CLI args that will +@REM 提供一种“标准化”的方式来获取命令行参数 @REM work with both Windows and non-Windows executions. +@REM 适用于 Windows 和非 Windows 系统的执行环境 set MAVEN_CMD_LINE_ARGS=%* +@REM 将 MAVEN_CMD_LINE_ARGS 环境变量设置为所有命令行参数 %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +@REM 执行 Java 命令,启动 Maven 包装器 if ERRORLEVEL 1 goto error +@REM 如果执行 Java 命令返回错误码,则跳转到 error 标签 goto end +@REM 跳转到 end 标签 :error +@REM 错误处理标签 set ERROR_CODE=1 +@REM 设置错误代码为 1,表示脚本执行出错 :end +@REM 结束标签 @endlocal & set ERROR_CODE=%ERROR_CODE% +@REM 结束本地环境变量作用域,并将错误代码传递到外部 if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +@REM 如果 MAVEN_SKIP_RC 环境变量不为空,则跳过执行用户定义的后置脚本 @REM check for post script, once with legacy .bat ending and once with .cmd ending +@REM 检查是否存在后置脚本,分别检查以 .bat 和 .cmd 结尾的文件 if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" +@REM 如果存在 %HOME%\mavenrc_post.bat 文件,则调用该脚本 if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +@REM 如果存在 %HOME%\mavenrc_post.cmd 文件,则调用该脚本 :skipRcPost +@REM 跳过执行用户定义的后置脚本的标签 @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +@REM 如果 MAVEN_BATCH_PAUSE 环境变量设置为 'on',则暂停脚本执行 if "%MAVEN_BATCH_PAUSE%" == "on" pause +@REM 等待用户按键 if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% +@REM 如果 MAVEN_TERMINATE_CMD 环境变量设置为 'on',则退出命令提示符并返回错误代码 exit /B %ERROR_CODE% +@REM 退出当前批处理脚本并返回错误代码 \ No newline at end of file diff --git a/pom-war.xml b/pom-war.xml index 93c5638..fcac2a7 100644 --- a/pom-war.xml +++ b/pom-war.xml @@ -1,116 +1,138 @@ + + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.2.2.RELEASE - + + + com.jlwl springbootus5uu + 0.0.1-SNAPSHOT + springboot-schema + springboot学习框架(war包对应的pom,打war包,执行【mvn clean package -f pom-war.xml】) + war + + 1.8 + 1.2.8 + 3.1.1 + + org.springframework.boot spring-boot-starter-web + org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.1 + - org.springframework.boot - spring-boot-starter-jdbc + org.springframework.boot + spring-boot-starter-jdbc - + - org.springframework.boot - spring-boot-starter-tomcat - provided + org.springframework.boot + spring-boot-starter-tomcat + provided - + - mysql - mysql-connector-java + mysql + mysql-connector-java + org.apache.shiro shiro-spring 1.3.2 - + com.baomidou mybatis-plus 2.3 + com.baomidou mybatisplus-spring-boot-starter 1.0.5 + - com.google.protobuf - protobuf-java - 3.10.0 + com.google.protobuf + protobuf-java + 3.10.0 - + - org.apache.commons - commons-lang3 - 3.0 + org.apache.commons + commons-lang3 + 3.0 - + - javax.validation - validation-api - 2.0.1.Final + javax.validation + validation-api + 2.0.1.Final - + - commons-io - commons-io - 2.5 + commons-io + commons-io + 2.5 - - + - cn.hutool - hutool-all - 4.0.12 + cn.hutool + hutool-all + 4.0.12 - - + com.alibaba fastjson ${fastjson.version} - + - com.baidu.aip - java-sdk - 4.4.1 + com.baidu.aip + java-sdk + 4.4.1 - + org.springframework.boot spring-boot-starter-test test + org.junit.vintage @@ -120,23 +142,27 @@ - + + springbootus5uu + + org.springframework.boot spring-boot-maven-plugin - + org.apache.maven.plugins maven-surefire-plugin + true - + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 1c9ddf8..8f6f207 100644 --- a/pom.xml +++ b/pom.xml @@ -1,143 +1,219 @@ + + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.2.2.RELEASE + + com.jlwl + springbootus5uu + 0.0.1-SNAPSHOT + springboot-schema - springboot学习框架 + + springboot学习框架(war包对应的pom,打war包,执行【mvn clean package -f pom-war.xml】) + + war + + 1.8 + 1.2.8 + 3.1.1 + + + org.springframework.boot + spring-boot-starter-web + org.mybatis.spring.boot + mybatis-spring-boot-starter + 2.1.1 + - org.springframework.boot - spring-boot-starter-jdbc + org.springframework.boot + + spring-boot-starter-jdbc + + + + + org.springframework.boot + + spring-boot-starter-tomcat + + provided + - + - mysql - mysql-connector-java + mysql + + mysql-connector-java + org.apache.shiro + shiro-spring + 1.3.2 + - + com.baomidou + mybatis-plus + 2.3 + com.baomidou + mybatisplus-spring-boot-starter + 1.0.5 + - com.google.protobuf - protobuf-java - 3.10.0 + com.google.protobuf + + protobuf-java + + 3.10.0 + - + - org.apache.commons - commons-lang3 - 3.0 + org.apache.commons + + commons-lang3 + + 3.0 + - + - javax.validation - validation-api - 2.0.1.Final + javax.validation + + validation-api + + 2.0.1.Final + - + - commons-io - commons-io - 2.5 + commons-io + + commons-io + + 2.5 + - - + + - cn.hutool - hutool-all - 4.0.12 + cn.hutool + + hutool-all + + 4.0.12 + - + com.alibaba + fastjson + ${fastjson.version} - - - - - - - - - com.microsoft.sqlserver - mssql-jdbc - 6.2.0.jre8 - test - - - com.microsoft.sqlserver - mssql-jdbc - 6.2.0.jre8 - runtime + - com.baidu.aip - java-sdk - 4.4.1 + com.baidu.aip + + java-sdk + + 4.4.1 + - + org.springframework.boot + spring-boot-starter-test + test + + org.junit.vintage + junit-vintage-engine + + + + springbootus5uu + + org.springframework.boot + spring-boot-maven-plugin + + + + + org.apache.maven.plugins + + maven-surefire-plugin + + + + true + + - + \ No newline at end of file -- 2.34.1