2015-04-04 440 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