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

【项目】【在线判题系统】后端项目搭建

目录

  • 一、创建工程
    • 1.1 父级工程创建
    • 1.2 创建oj-modules
    • 1.3 创建微服务⼯程
    • 1.4 建立远程仓库

一、创建工程

将整个⼯程划分为三级

  • yj-oj
    • oj-api 服务间调⽤的api
    • oj-common公共包
      • oj-common-redis
    • oj-gateway ⽹关
    • oj-modules 存放所有的微服务,将所有微服务统⼀管理
      • oj-friend
      • oj-job
      • oj-judge
      • oj-system

1.1 父级工程创建

创建一个新项目,maven项目,jdk17,将src删掉,因为这是父工程,我们不会在这里面去写代码。
将pom文件引入依赖修改:

<?xml version="1.0" encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.0.1</version><relativePath/><!-- lookup parent from repository --></parent><groupId>org.example</groupId><artifactId>yj-oj</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><spring-boot.version>3.0.1</spring-boot.version><spring-cloud-alibaba.version>2022.0.0.0-RC2</spring-cloud-alibaba.version><spring-cloud.version>2022.0.0</spring-cloud.version></properties><dependencies><!-- bootstrap 启动器 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency><!-- lombok 依赖配置--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies><dependencyManagement><dependencies><!-- SpringCloud Alibaba 微服务--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency><!-- SpringCloud 微服务 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><!-- SpringBoot 依赖配置--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement></project>

1.2 创建oj-modules

统⼀管理所有的微服务(除gateway外)
删除oj-modules⼯程中的src⽬录,并修改pom.xml⽂件

<?xml version="1.0" encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.example</groupId><artifactId>yj-oj</artifactId><version>1.0-SNAPSHOT</version></parent><artifactId>oj-modules</artifactId><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies></project>

1.3 创建微服务⼯程

  • oj-friend
  • oj-job
  • oj-judge
  • oj-system

为每个服务创建启动类,配置端口、服务名。
以 oj-friend 为例子:

packagecom.yj.friend;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublicclassOjFriendApplication{publicstaticvoidmain(String[]args){SpringApplication.run(OjFriendApplication.class,args);}}
server:port:9202spring:application:name:oj-friend

1.4 建立远程仓库

再gitee上创建远程仓库,与本地进行链接,将刚才搭建的工程给推送到远程仓库。

git init git add.git commit-m"项目工程搭建"git remote add origin https://gitee.com/yj20040627/oj.gitgit push-u origin"master"
http://www.jsqmd.com/news/694250/

相关文章:

  • iOS 开发环境配置
  • 面试题:Spring事务失效场景
  • 避坑指南:在Vivado 2022.1中修改IP后综合失败的常见原因与解决步骤
  • rk3588本地部署大模型记录
  • 灯亮只是起点:智能照明系统安装的工程逻辑、实施重点与运维价值
  • 从Fluent到Simulink:MATLAB流体仿真数据交互与模型构建实战
  • 别再死记硬背RAID了!用一张图+三个真实场景,帮你彻底搞懂RAID0/1/5/10怎么选
  • 从面试题到项目实战:C++二进制/十进制转换的3种高效写法与避坑指南
  • 别再乱选Mode了!CarSim与Simulink联合仿真输入模块的Mode和Initial Value到底怎么设?
  • 存储过程习题
  • 10款论文降AI工具实测:SpeedAI清零AIGC率,语义保真度99%
  • PhotoPrism深度使用指南:从照片导入到智能整理,我的万张图片管理实战
  • 键盘重映射:如何用SharpKeys彻底驯服你的Windows键盘?
  • 怎么做才能做好数据基座?数据基座搭建避坑指南有哪些?
  • 亲测有效:大学生论文降AI工具优选指南
  • 安全与便利的平衡:在openEuler 20.03上为普通用户配置sudo替代su的完整指南
  • 别再只会拖拽了!Qt QHeaderView 这5个隐藏属性让你的表格/树形视图更专业
  • 项目接入 AI 指南-阿里百炼版
  • CCF-GESP C++三级考了啥?我用Python帮你把2023年9月的真题重写了一遍
  • ubuntu安装MySQL8.4 LTS
  • 对话的边界:HTTP 的克制,SSE 的流淌,WebSocket 的自由
  • Commit风水学:时辰决定系统稳定性
  • Prism弹窗对象_弹窗向主窗口返回值详解(工业级上位机专篇)
  • C语言(语句底层实现)
  • Mac 本地跑大模型完全指南:你的苹果电脑就是 AI 工作站
  • Word 自动保存失效、文档异常卡顿怎么办?一文解决 Cobra DocGuard 加载项干扰问题
  • 北京永利鑫达起重:承揽设备移位大件运输合规服务商盘点答疑 - 海棠依旧大
  • 人大金仓KingbaseES kdb_schedule插件:从零构建自动化计划任务
  • 2026年3月正规的出口退税咨询公司推荐,工商注册/外贸公司注册/公司注册,出口退税服务公司找哪家 - 品牌推荐师
  • 收藏!2026 年版大模型零基础入门指南,程序员小白快速学懂 AI 大模型