# 环境变量设置指南 ## 📋 需要设置的环境变量 根据你的配置文件,需要设置以下环境变量: ```bash OSS_ACCESS_KEY_ID=your_access_key_id OSS_ACCESS_KEY_SECRET=your_access_key_secret ``` ## 🖥️ 不同操作系统的设置方法 ### 1. macOS / Linux #### 方法1:临时设置(当前终端会话有效) ```bash export OSS_ACCESS_KEY_ID=LTAI5t982gXi7A72gAa9yugE export OSS_ACCESS_KEY_SECRET=Mi9ZsSWLGkvFoMiLNiZ71hHFzVso30 ``` #### 方法2:永久设置(添加到配置文件) **对于 Bash 用户:** ```bash # 编辑 ~/.bashrc 或 ~/.bash_profile echo 'export OSS_ACCESS_KEY_ID=LTAI5t982gXi7A72gAa9yugE' >> ~/.bashrc echo 'export OSS_ACCESS_KEY_SECRET=Mi9ZsSWLGkvFoMiLNiZ71hHFzVso30' >> ~/.bashrc # 重新加载配置 source ~/.bashrc ``` **对于 Zsh 用户(macOS 默认):** ```bash # 编辑 ~/.zshrc echo 'export OSS_ACCESS_KEY_ID=LTAI5t982gXi7A72gAa9yugE' >> ~/.zshrc echo 'export OSS_ACCESS_KEY_SECRET=Mi9ZsSWLGkvFoMiLNiZ71hHFzVso30' >> ~/.zshrc # 重新加载配置 source ~/.zshrc ``` ### 2. Windows #### 方法1:命令行临时设置 **CMD:** ```cmd set OSS_ACCESS_KEY_ID=LTAI5t982gXi7A72gAa9yugE set OSS_ACCESS_KEY_SECRET=Mi9ZsSWLGkvFoMiLNiZ71hHFzVso30 ``` **PowerShell:** ```powershell $env:OSS_ACCESS_KEY_ID="LTAI5t982gXi7A72gAa9yugE" $env:OSS_ACCESS_KEY_SECRET="Mi9ZsSWLGkvFoMiLNiZ71hHFzVso30" ``` #### 方法2:系统环境变量设置 1. 右击"此电脑" → "属性" 2. 点击"高级系统设置" 3. 点击"环境变量" 4. 在"系统变量"中点击"新建" 5. 变量名:`OSS_ACCESS_KEY_ID`,变量值:`LTAI5t982gXi7A72gAa9yugE` 6. 重复步骤4-5,设置 `OSS_ACCESS_KEY_SECRET` ## 🚀 启动应用程序的方法 ### 1. 直接在终端启动 ```bash # 设置环境变量 export OSS_ACCESS_KEY_ID=LTAI5t982gXi7A72gAa9yugE export OSS_ACCESS_KEY_SECRET=Mi9ZsSWLGkvFoMiLNiZ71hHFzVso30 # 启动应用程序 cd /Users/leocoder/leocoder/develop/templates/coder-common-thin/coder-common-thin-backend java -jar coder-common-thin-web/target/coder-common-thin-web-1.0.0.jar ``` ### 2. 一行命令启动 ```bash OSS_ACCESS_KEY_ID=LTAI5t982gXi7A72gAa9yugE OSS_ACCESS_KEY_SECRET=Mi9ZsSWLGkvFoMiLNiZ71hHFzVso30 java -jar coder-common-thin-web/target/coder-common-thin-web-1.0.0.jar ``` ### 3. 使用启动脚本 创建一个启动脚本: ```bash #!/bin/bash # 文件名: start-app.sh # 设置环境变量 export OSS_ACCESS_KEY_ID=LTAI5t982gXi7A72gAa9yugE export OSS_ACCESS_KEY_SECRET=Mi9ZsSWLGkvFoMiLNiZ71hHFzVso30 # 切换到项目目录 cd /Users/leocoder/leocoder/develop/templates/coder-common-thin/coder-common-thin-backend # 启动应用程序 java -jar coder-common-thin-web/target/coder-common-thin-web-1.0.0.jar ``` 给脚本添加执行权限并运行: ```bash chmod +x start-app.sh ./start-app.sh ``` ## 🐳 Docker 环境 ### 1. docker run 命令 ```bash docker run -d \ -e OSS_ACCESS_KEY_ID=LTAI5t982gXi7A72gAa9yugE \ -e OSS_ACCESS_KEY_SECRET=Mi9ZsSWLGkvFoMiLNiZ71hHFzVso30 \ -p 18099:18099 \ your-app-image ``` ### 2. docker-compose.yml ```yaml version: '3.8' services: app: image: your-app-image ports: - "18099:18099" environment: - OSS_ACCESS_KEY_ID=LTAI5t982gXi7A72gAa9yugE - OSS_ACCESS_KEY_SECRET=Mi9ZsSWLGkvFoMiLNiZ71hHFzVso30 ``` ### 3. 使用 .env 文件 ```bash # 创建 .env 文件 echo "OSS_ACCESS_KEY_ID=LTAI5t982gXi7A72gAa9yugE" > .env echo "OSS_ACCESS_KEY_SECRET=Mi9ZsSWLGkvFoMiLNiZ71hHFzVso30" >> .env # docker-compose 会自动读取 docker-compose up -d ``` ## 🔧 IDE 环境配置 ### 1. IntelliJ IDEA 1. 打开 Run Configuration 2. 选择你的 Spring Boot 应用 3. 在 "Environment Variables" 中添加: - `OSS_ACCESS_KEY_ID=LTAI5t982gXi7A72gAa9yugE` - `OSS_ACCESS_KEY_SECRET=Mi9ZsSWLGkvFoMiLNiZ71hHFzVso30` ### 2. VS Code 在 `.vscode/launch.json` 中配置: ```json { "type": "java", "name": "Spring Boot App", "request": "launch", "mainClass": "org.leocoder.thin.web.CoderApplication", "env": { "OSS_ACCESS_KEY_ID": "LTAI5t982gXi7A72gAa9yugE", "OSS_ACCESS_KEY_SECRET": "Mi9ZsSWLGkvFoMiLNiZ71hHFzVso30" } } ``` ### 3. Eclipse 1. 右击项目 → Run As → Run Configurations 2. 选择你的 Java Application 3. 在 "Environment" 选项卡中添加变量 ## 🔐 安全最佳实践 ### 1. 使用 .env 文件(推荐) 创建 `.env` 文件(不要提交到版本控制): ```bash # .env 文件 OSS_ACCESS_KEY_ID=LTAI5t982gXi7A72gAa9yugE OSS_ACCESS_KEY_SECRET=Mi9ZsSWLGkvFoMiLNiZ71hHFzVso30 ``` 在 `.gitignore` 中添加: ``` .env ``` ### 2. 使用系统密钥管理 **macOS Keychain:** ```bash # 存储到 Keychain security add-generic-password -s "oss-access-key" -a "your-app" -w "LTAI5t982gXi7A72gAa9yugE" # 从 Keychain 读取 OSS_ACCESS_KEY_ID=$(security find-generic-password -s "oss-access-key" -a "your-app" -w) ``` **Linux Secret Service:** ```bash # 使用 secret-tool secret-tool store --label="OSS Access Key" service oss-access-key LTAI5t982gXi7A72gAa9yugE ``` ### 3. 配置文件最佳实践 修改 `application-dev.yml`: ```yaml coder: oss: # 只从环境变量读取,不设置默认值 access-key-id: ${OSS_ACCESS_KEY_ID} access-key-secret: ${OSS_ACCESS_KEY_SECRET} ``` ## ✅ 验证环境变量 ### 1. 检查环境变量是否设置成功 ```bash # Linux/macOS echo $OSS_ACCESS_KEY_ID echo $OSS_ACCESS_KEY_SECRET # Windows CMD echo %OSS_ACCESS_KEY_ID% echo %OSS_ACCESS_KEY_SECRET% # Windows PowerShell echo $env:OSS_ACCESS_KEY_ID echo $env:OSS_ACCESS_KEY_SECRET ``` ### 2. 在应用程序中验证 在 Java 代码中临时添加日志: ```java @PostConstruct public void logOssConfig() { log.info("OSS_ACCESS_KEY_ID: {}", System.getenv("OSS_ACCESS_KEY_ID")); log.info("OSS_ACCESS_KEY_SECRET: {}", System.getenv("OSS_ACCESS_KEY_SECRET") != null ? "已设置" : "未设置"); } ``` ## 🚨 注意事项 1. **不要在版本控制中提交真实的密钥** 2. **定期轮换访问密钥** 3. **使用最小权限原则配置OSS权限** 4. **在生产环境中使用更安全的密钥管理方案** 5. **重启应用程序后环境变量才会生效** ## 📝 快速设置脚本 我已经为你准备了一个快速设置脚本,运行即可: ```bash # 当前目录下创建 setup-env.sh chmod +x setup-env.sh ./setup-env.sh ``` 按照这个指南设置环境变量后,你的OSS功能就可以正常使用了!