首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Grails 專案從 Git Clone 後本地無法運行:依賴解析與環境一致性排查

     編輯:程式設計綜合問答

現象描述

  • 公司電腦 run-app 正常,個人電腦(同 Ubuntu、同 STS)報紅線、Config.groovy 引入 Spring 類失敗、run-app 卡在 Configuring classpath。
  • Git Clone 時提示檔案模式變更、行尾序列差異。

核心原因分析

  1. Grails 依賴未正確解析:BuildConfig.groovy 聲明的依賴(如 spring-core、gson)未下載到本地 ~/.grails/ivy-cache 或 ~/.m2。
  2. IDE 專案設定不同步:STS 的 Grails Dependency Management 未啟用或未刷新。
  3. JDK/Grails 版本細微差異:雖主版本相同,但更新版本(如 JDK 8u291 vs 8u301)可能影響相容性。

解決步驟

  1. 命令列強制刷新依賴:
    grails clean
    grails refresh-dependencies
    grails compile
    
  2. STS 同步:右鍵專案 → Grails Tools → Refresh Dependencies。
  3. 檢查 lib 目錄:若專案使用 lib/ 目錄放置 jar,確認 BuildConfig.groovy 包含 legacyResolve true 或手動將 jar 複製到 ~/.grails/ivy-cache。
  4. 統一環境:使用 SDKMAN 管理同版本 JDK/Grails:sdk install java 8.0.302-open sdk install grails 2.2.1。

行尾序列修正

Git 設定 core.autocrlf=input(Linux/Mac)統一 LF,避免 Windows CRLF 污染 Groovy 腳本執行。

卡在 Configuring classpath 診斷

通常為依賴下載緩慢或衝突。開啟 --verbose 或 --stacktrace 觀察具體下載/解析步驟,或配置阿里雲 Maven 鏡像加速:

// settings.groovy 或 BuildConfig.groovy
grails.project.dependency.resolution = {
    repositories {
        mavenRepo "https://maven.aliyun.com/repository/public"
    }
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved