2026-03-22

03月22日

一、今日完成情况

  • 完成服务器的基本项目和功能的配置
  • 完成java环境的服务器同步,项目关闭笔记导出[[#四、研究生级 Java 项目工程化管理方案]]

二、今日感悟

  • 核心业务数据​:
  • ​今日工作总结:​
    • 放假随便干点
  • ​明日工作计划:
  • ​今日学习成长:​

三、备注

四、研究生级 Java 项目工程化管理方案

针对 4G 内存轻量级服务器与 M4 MacBook 的“组合拳”开发模式,总结以下规范:

1. 核心思想:本地“轻量写”,云端“标准跑”

  • 弃用 IntelliJ 远程后端:不在服务器部署 Headless IDEA,将宝贵的 4G 内存留给 JVM 和 MongoDB。
  • 利用 SFTP 实时镜像:通过 IDEA 的 Deployment 功能,实现 Cmd + S 后代码瞬间同步到云端。
  • 手动/自动化 Maven 触发:不依赖不稳定的“Run on SSH”插件,直接在服务器终端使用原生 Maven 命令运行,确保环境透明、可控。

2. 标准化工程结构 (Standard Maven Layout)

为了让项目具备长远的扩展性(如引入 MongoDB 驱动),必须摒弃散装 .java 文件,统一采用 Maven 结构:

  • 根目录:必须存放 pom.xml(定义项目灵魂)。
  • 源码路径:代码必须存放在 src/main/java/ 下。
  • 包名规范:包名(Package)必须与文件夹层级严格对应(如 io.github.luduihang.learning.list)。

3. 环境管理:SDKMAN! 统一链路

  • 多版本共存:利用 sdk install java 21.x.xsdk install maven 快速构建环境。
  • 路径引用:在 IDEA 远程配置或环境变量中,优先使用 ~/.sdkman/candidates/java/current 这一软链接,确保 JDK 升级后配置无需重改。

4. 生产级运行指令 (The “Golden Command”)

进入服务器项目根目录后,统一使用以下指令进行编译运行:

mvn clean compile exec:java -Dexec.mainClass="完整包名.类名"
  • clean:清理旧的字节码,防止缓存干扰。
  • compile:验证语法并生成 .class 文件。
  • exec:java:在当前 JVM 进程中启动程序,相比 java -cp 方式能自动处理复杂的第三方依赖。
 mvn clean compile exec:java -Dexec.mainClass="io.github.luduihang.learning.list.MyDoubleLinkedList"
Pasted image 20260322220718

5. 进阶工作流建议 (Workflow)

  • 依赖管理:需要连接 MongoDB 时,直接在本地修改 pom.xml 增加 dependency,同步后云端 Maven 会自动下载。
  • Git 协同:将 srcpom.xml 纳入版本控制,服务器上的 target 目录必须加入 .gitignore
  • 监控:运行程序时开启 tophtop,观察 4G 内存服务器的 Heap 空间使用情况,必要时在 Maven 运行时加入内存限制参数。

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 kipleyarch@gmail.com
Obsidian