换开发机继续开发。新机器只需要拉仓库 + 自备工具链 + 单独拷贝两个机密文件, 服务器/聚石塔/SAE 全部沿用,不需要重建。 - docs/HANDOFF-2026-11-02.md:开发机交接(环境、仓库地图、三套测试、 本地怎么跑、云端资源清单、上线方式、11 条关键结论、9 项待办、故障对照表) - deploy/:服务器侧配置入库(原先只存在于机器上) - systemd/juzi-taobao.service(18081,独立数据目录与凭据文件) - nginx/tb-location.conf(/tb/ 反代 + 只放行聚石塔 NAT EIP) - add-tb-nginx.sh(幂等插入,先备份,nginx -t 通过才 reload) - README.md(重建与回滚步骤) - tools/env-java.ps1:优先用仓库内便携工具链,缺失时回退 JAVA_HOME/PATH, 换机器不用再下便携 JDK/Maven - README.md:交接文档入口更新
52 lines
2.0 KiB
PowerShell
52 lines
2.0 KiB
PowerShell
# 在当前 PowerShell 会话中加载 JDK 17 + Maven
|
|
# 用法:. <仓库根>\tools\env-java.ps1
|
|
#
|
|
# 查找顺序:
|
|
# 1) 仓库内便携工具链 tools\jdk17\* + tools\maven\apache-maven-3.9.9(不入库,换机器需自备)
|
|
# 2) 已导出的环境变量 $env:JAVA_HOME / $env:MAVEN_HOME
|
|
# 3) PATH 上的 java / mvn(例:scoop/choco/winget 安装的)
|
|
$ErrorActionPreference = 'Stop'
|
|
|
|
$projectRoot = Split-Path -Parent $PSScriptRoot
|
|
|
|
function Find-Jdk {
|
|
$root = Join-Path $projectRoot 'tools\jdk17'
|
|
$candidates = @()
|
|
if (Test-Path $root) {
|
|
$candidates += $root
|
|
$candidates += Get-ChildItem $root -Directory -ErrorAction SilentlyContinue | ForEach-Object { $_.FullName }
|
|
}
|
|
if ($env:JAVA_HOME) { $candidates += $env:JAVA_HOME }
|
|
return $candidates | Where-Object { $_ -and (Test-Path (Join-Path $_ 'bin\java.exe')) } | Select-Object -First 1
|
|
}
|
|
|
|
function Find-Maven {
|
|
$portable = Join-Path $projectRoot 'tools\maven\apache-maven-3.9.9'
|
|
if (Test-Path (Join-Path $portable 'bin\mvn.cmd')) { return $portable }
|
|
if ($env:MAVEN_HOME -and (Test-Path (Join-Path $env:MAVEN_HOME 'bin\mvn.cmd'))) { return $env:MAVEN_HOME }
|
|
$onPath = Get-Command mvn -ErrorAction SilentlyContinue
|
|
if ($onPath) { return Split-Path -Parent (Split-Path -Parent $onPath.Source) }
|
|
return $null
|
|
}
|
|
|
|
$jdkHome = Find-Jdk
|
|
if (-not $jdkHome) {
|
|
throw "找不到 JDK 17:请安装 JDK 17 并设置 JAVA_HOME,或把便携版放到 tools\jdk17\"
|
|
}
|
|
|
|
$mavenHome = Find-Maven
|
|
if (-not $mavenHome) {
|
|
throw "找不到 Maven:请安装 Maven 3.9+ 并放到 PATH,或放便携版到 tools\maven\apache-maven-3.9.9"
|
|
}
|
|
|
|
$env:JAVA_HOME = $jdkHome
|
|
$env:MAVEN_HOME = $mavenHome
|
|
$env:PATH = "$jdkHome\bin;$mavenHome\bin;$env:PATH"
|
|
|
|
Write-Host "JAVA_HOME=$env:JAVA_HOME"
|
|
Write-Host "MAVEN_HOME=$env:MAVEN_HOME"
|
|
# java/mvn 往 stderr 写版本信息,在 ErrorActionPreference=Stop 下会被当成终止错误,这里放宽
|
|
$ErrorActionPreference = 'Continue'
|
|
java -version
|
|
mvn -version
|