Gradle 從svn 中檢出的父項目后處理配置【我】 及 Failed to parse configuration class異常


 

前提:

一個用gradle配置的 類似maven的聚合項目的項目,然后它在svn上就是一個父工程的目錄。

 

檢出方式:

在eclipse中,直接用svn資源庫檢出 父項目 的目錄。

 

然后,在父項目下面的settings.gradle文件上右鍵,

Gradle——Refresh Gradle Project

這樣Eclipse包管理器中的單一parent目錄項目就變成正常的多個子項目了。

 

--------------------

注意:

 

如果按照上面的方法不管用(eclipse報錯,或者沒有反應即項目沒有變化),請如下操作:

 處理方法1:

1.在eclipse中全局搜索 :connection.gradle.distribution,會找到項目下對應的 \.settings 目錄下的 文件 org.eclipse.buildship.core.prefs

也可以直接到工作空間下的項目下的 .settings目錄下去找。

2.修改  connection.gradle.distribution = 后面的值中的路徑為 Eclipse環境中配置的本地gradle目錄地址(這個地址可能是從svn中檢出的項目的原配置,並不和本地gradle環境一致)

3.再重復執行:在父項目下面的settings.gradle文件上右鍵,Gradle——Refresh Gradle Project

 

處理方法2:

打開Eclipse的 Problems 窗口,找到其中的錯誤,全局搜上面的錯誤,或者搜索:

connection.gradle.distribution

同樣會找到上面的文件,只要把報錯的這行:

connection.gradle.distribution=GRADLE_DISTRIBUTION(LOCAL_INSTALLATION(E\:\\Utils\\gradle-4.6))

注釋掉即可。

重新Refresh Gradle Project 后其會自動變成

connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)

同時項目構建成功。

 

 =================

 

gradle項目使用及啟動

用gradle構建的項目其實和maven一樣,只是在 更新或修改 build.gradle 文件后,需要 在項目右鍵執行 Gradle——Refresh Gradle Project,是構建文件作用在項目上。其他可以和普通web項目一樣操作,比如,啟動,可以直接 add 到eclipse集成的Tomcat下來啟動。

 ====================

更換Eclipse 2019版本后,從SVN檢出項目,按照上面方法配置,啟動時發現報錯:

 主要是說找不到某些類的 .class 文件,所以spring 無法實例化

 

錯誤如下:
org.apache.catalina.core.StandardContext listenerStart
嚴重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [ xxximpl.class  找不到

 

發現報錯的 bean都是某個接口項目下的實現類(說找不到對應的 .class 文件),而那個接口是以一個 jar 項目的形式單獨存在的,在本項目的 build.gradle 配置文件中如下依賴的:

 

dependencies {
   compile project(":crmCust-api")

 

在Eclipse的包管理器界面都是沒問題的:

最下面也有這個依賴,但是部署到Tomcat中啟動時就說找不到對應的 .class 文件

 

想到是新Eclipse環境的問題,項目右鍵,build path,config bulidpath,Libraries 查看各項,未見明顯異常錯誤。

然后百度一番,

再次項目右鍵,properties,選擇左側的 Deployment Assembly

在彈出的窗口中,發現我們依賴的的接口項目 crmCust-api 在窗口下部有報錯叉號及提示錯誤的標記,

選中 上面表格中的 crmCust-api 然后,點右邊的 Remove 移除,再點右邊的add重新添加進來,故障排除。

 

啟發:

懷疑項目構建問題,

除了在項目右鍵,build path,config bulidpath 查看異常外

還可以項目右鍵,properties,選擇左側的 Deployment Assembly,查看右側是否異常

 ===================================

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM