java-path 是一个面向初学者的 Java 学习网站原型,包含 13 个 Level、104 个练习关卡。页面把课程讲解、官方资料、学习路径、代码编辑器、控制台输出和提交验证放在同一个工作台里。
在线访问:
https://wangjiehu.github.io/java-path/
这是 GitHub Pages 静态体验版,不需要安装 JDK。线上页面会自动使用浏览器端教学预览模式,支持基础输出语句、简单变量输出和字符串拼接预览。真实 Java 编译运行需要本地 Node 服务或后续接入云端 JDK 沙箱。
页面会把完成进度记录在当前浏览器的 localStorage 中。提交当前关卡并通过验证后,下一关才会解锁;未解锁关卡会在左侧目录中置灰并禁止点击。点击右上角重置按钮会清空本机进度,并重新锁定后续关卡。
cd "D:\Wonderful\Pursuing coding\java-path"
npm start打开:
http://localhost:4173
如果 4173 已被占用,可以临时换端口:
$env:PORT=4273
npm start然后打开 http://localhost:4273。
本地服务会优先检测 java 命令。如果当前机器有可用 JDK,会通过服务端执行单文件程序:
java Main.java如果没有 JDK,本地服务会退回教学预览模式,不会把预览结果伪装成真实编译结果。
首次在本机检查前安装依赖和 Playwright 浏览器:
npm ci
npx playwright install chromium
npm run verifyverify 会先检查课程文件数量、13 个 Level 的 104 关完整性、必填字段、标题匹配、重复 ID、内容长度和官方资料链接来源白名单,然后启动本地页面并用 Playwright 做桌面/移动端 UI 回归,覆盖关卡锁定、提交解锁、进度恢复、重置确认、答案抽屉、专注模式和横向溢出检查。
推送到 main 分支后,.github/workflows/deploy-pages.yml 会自动:
- 检出仓库。
- 使用 Node.js 24 安装依赖,并运行
npm run verify。 - 将
public/目录发布到 GitHub Pages。
仓库 Pages 入口应保持为:
https://wangjiehu.github.io/java-path/
如果首次启用 Pages,需要在 GitHub 仓库 Settings -> Pages 中把 Source 设为 GitHub Actions。
server.js:静态资源服务、健康检查和 Java 运行接口。public/index.html:页面骨架和脚本加载顺序。public/course-outline.js:13 个 Level、104 关的目录大纲。public/lesson-content-level*.js:每个 Level 的完整课程内容。public/app.js:课程加载、编辑器、答案面板、进度和交互逻辑。public/styles.css:日夜模式、桌面和移动端布局、编辑器和弹窗样式。scripts/validate-lessons.js:课程结构、数量、来源和内容完整度校验。
学习者不需要安装 JDK,也不需要配置本地编译器。正式产品应采用:
浏览器 -> 后端 API -> 云端 JDK 沙箱 -> 返回编译和运行结果
当前原型的提交验证不要求代码和参考答案逐字一致,会按关卡类型做基础检查,例如 Java 主结构、输出语句、SQL 关键字、Spring 类/注解、工程命令或配置片段。正式产品应进一步接入运行结果、测试用例和隐藏用例。
- 每次运行创建一次隔离任务。
- 使用 JDK LTS 镜像作为主线运行环境。
- 限制用户代码的 CPU、内存、磁盘、网络和运行时间。
- 每次运行后销毁临时文件和容器。
- 返回标准输出、标准错误、退出码、耗时和友好的中文解释。
- 后续支持多文件项目、JUnit 判题、Maven/Gradle 项目和 Spring Boot 练习。