Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 25 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,12 +107,36 @@ docker compose up -d postgres redis
> 生产环境用另一个 OAuth App(仓库维护者持有,回调注册的是 `https://involutionhell.com/...`),跟本地这套互不干扰。本地 `.env` 只放你自己的 dev key。

### 4. 启动后端服务
在根目录下直接启动 JVM 模式:
按以下任一方式启动:

**方式 1:macOS / Linux / WSL / Git Bash**

```bash
set -a && . ./.env && set +a
./mvnw spring-boot:run
```

`set -a` 让后续读到的变量自动 export 为环境变量,`. ./.env` 加载文件,`set +a` 关闭自动 export。这样 `.env` 里的变量会被传递给后续启动的 Spring Boot 进程。

> [!WARNING]
> 如果你用 Windows 编辑器(Notepad、VSCode 默认配置)改过 `.env`,行尾可能是 CRLF,`. ./.env` 会把 `\r` 一起带进变量值,后续 JDBC 连接会因为 `PGHOST=localhost\r` 这类隐形回车报奇怪的连接错。先 `dos2unix .env`,或者把编辑器行尾改成 LF。

**方式 2:Windows PowerShell**

```powershell
Get-Content .env | Where-Object { $_ -match '^[^#].+=' } | ForEach-Object {
$name, $value = $_ -split '=', 2
[Environment]::SetEnvironmentVariable($name.Trim(), $value.Trim())
}
./mvnw spring-boot:run
```

只在当前 PowerShell 进程内生效,关掉窗口就没了——这是预期行为(避免污染全局环境变量)。每次新开 PowerShell 都要重跑一次。

**方式 3:IntelliJ IDEA(跨平台)**

安装 [EnvFile](https://plugins.jetbrains.com/plugin/7861-envfile) 插件后,在 Run Configuration → EnvFile 标签页中启用并选择 `.env` 文件,点击 Run 即可启动。

默认接口入口:`http://127.0.0.1:8080`

### 5. 调用示例接口
Expand Down