2015-04-04 70 views
2

的情況是:聲明(JSR310)搖籃的依賴,但LocalDateTimeDeserializer沒有可導入

問題:我無法導入LocalDateTimeDeserializer到我的代碼

這裏是我的gradle這個依賴性部分:

dependencies { 
    compile ("org.springframework.social:spring-social-core:$springSocialVersion") 
    compile ("org.springframework.social:spring-social-config:$springSocialVersion") 
    compile ("org.springframework.social:spring-social-security:$springSocialVersion", optional) 
    compile ("com.fasterxml.jackson.core:jackson-core:$jacksonVersion") 
    compile ("com.fasterxml.jackson.core:jackson-databind:$jacksonVersion") 
    compile ("com.fasterxml.jackson.core:jackson-annotations:$jacksonVersion") 
    compile ("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jsr310Version") 
    compile ("org.springframework.security:spring-security-crypto:$springSecurityCryptoVersion") 
    compile ("javax.servlet:javax.servlet-api:$servletApiVersion", provided) 
    testCompile ("org.springframework:spring-test:$springVersion") 
} 

我相信這是一個抓住!它在哪裏?

非常感謝您的幫助!

+0

您正在使用哪個$ jsr310Version?我猜你正在運行java 8?當你嘗試導入解串器時,你會得到什麼確切的錯誤? – fateddy 2015-04-04 17:45:37

+0

嘿,@fateddy,版本:2.5.1,並且是:Java 8.我認爲這與類路徑有關,但無法猜測,我對gradle很陌生。 – hudsonmendes 2015-04-04 22:06:57

+0

'$ jacksonVersion'和'$ jsr310Version'應該是一樣的。使用這種確切的依賴關係肯定會起作用。如果在IDE中看不到依賴關係,則可能是由於eclipse無法查看gradle管理的依賴關係。我假設你使用eclipse gradle插件(Eclipse集成Gradle,https://github.com/spring-projects/eclipse-integration-gradle/) - 確保爲項目啓用了「依賴管理」 - 然後嘗試刷新依賴關係(可以在Gradle上下文菜單中找到,右鍵單擊項目根文件夾)。 – fateddy 2015-04-05 06:40:36

回答

1

如果您無法從項目中的依賴項導入類,則可能是eclipse無法查看gradle管理的依賴項。

爲了更好地集成基於gradle的項目,請使用Eclipse Integration Gradle插件(https://github.com/spring-projects/eclipse-integration-gradle,請參閱README.md以獲取安裝說明)。

「轉換」一個項目,一個gradle這個項目:

  • 刪除當前的項目(但不刪除源)
  • 導入項目爲Gradle Project

我們更新您的項目依賴項右鍵單擊項目目錄並運行Gradle - >Refresh Dependencies

2

行,已解決!

問題是(顯然)與類路徑有關。 我是Eclipse開發的新手,所以每天我都會越來越清楚自己的工作方式。

爲了解決類似的問題,請執行下列操作:

  1. 添加依賴於你的gradle這個建立 compile ("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.5.1")

  2. 你必須刷新你的類路徑。用gradle,這樣做,運行gradle cleanEclipse && gradle eclipse

  3. 刷新你的月食。在我的,我真的不得不重新啓動它。

在此之後,又做了魔法:LocalDateTimeDeserializer在那裏我進口。

注:我不喜歡這裏我自己的方法我相信,這是太胡思亂想是正確的,所以我會離開這個問題打開的情況下,任何人都與這裏發生的事情得到一個更清晰的認識一個更好的答案。

應該爲那些像我要繼續前進的撞擊頭部提供參考。

+0

再看看我以前的評論。每次運行'gradle cleanEclipse'時,都會清除項目描述文件。爲了更好地使用gradle,可以在https://github.com/spring-projects/eclipse-integration-gradle找到'eclipse gradle插件'(查看README.md的安裝說明)。然後從工作區中刪除項目(但保留源代碼) - 然後再次重新導入項目 - 但這次是「Gradle Project」。現在要更新你的項目依賴項,右鍵單擊項目目錄並運行'Gradle - > Refresh Dependencies'。 – fateddy 2015-04-07 06:16:47

+0

嘿,@fateddy。我可能沒有看到你最後的評論並回復。這是最終的答案。請在這裏添加一個答案,以便我可以投票和檢查!你在評論中是正確的。 – hudsonmendes 2015-04-07 10:43:46

+0

Thx - 添加爲答案! – fateddy 2015-04-10 16:15:10