Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 已声明Gradle依赖项(JSR310),但LocalDateTimeDeserializer不可导入_Java_Json_Eclipse_Gradle - Fatal编程技术网

Java 已声明Gradle依赖项(JSR310),但LocalDateTimeDeserializer不可导入

Java 已声明Gradle依赖项(JSR310),但LocalDateTimeDeserializer不可导入,java,json,eclipse,gradle,Java,Json,Eclipse,Gradle,情况是: 格拉德尔项目 @JsonProperty,无法将字符串反序列化为LocalDateTime 我们发现: 当然,把它从Maven移植到年级 我正在尝试使用@JsonDeserialize(使用=LocalDateTimeDeserializer.class) 问题:我无法将LocalDateTimeDeserializer导入到我的代码中 这是我的gradle依赖项部分: dependencies { compile ("org.springframework.social:s

情况是:

  • 格拉德尔项目
  • @JsonProperty
    ,无法将字符串反序列化为
    LocalDateTime
  • 我们发现:
  • 当然,把它从Maven移植到年级
  • 我正在尝试使用
    @JsonDeserialize(使用=LocalDateTimeDeserializer.class)
问题:我无法将
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")
}
我确信这是一个陷阱!它在哪里?

非常感谢您的帮助

好的,解决了

问题(显然)与类路径有关。 我是Eclipse开发的新手,所以它的工作原理对我来说每天都越来越清晰

要解决类似问题,请执行以下操作:

  • 将依赖项添加到gradle构建中
    编译(“com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.5.1”)

  • 您必须刷新类路径。使用gradle,要做到这一点,请运行
    GradleCleanEclipse&&GradleEclipse

  • 刷新您的eclipse。在我的电脑上,我真的必须重新启动它

  • 在这之后,它发挥了神奇的作用:
    LocalDateTimeDeserializer
    在那里供我导入

    注意:我不喜欢我自己的方法,我认为这太离谱了,不可能是正确的,所以我将保留这个问题,以防对这里发生的事情有更清楚了解的人得到更好的答案


    应该作为那些像我要继续前进的人的参考。

    如果您无法从项目中的依赖项导入类,那么可能是eclipse无法看到gradle管理的依赖项

    为了更好地集成基于gradle的项目,请使用
    EclipseIntegrationGradle
    插件(,查看README.md以获取安装说明)

    要将项目“转换”为渐变项目,请执行以下操作:

    • 删除当前项目(但不要删除源)
    • 将项目导入为
      Gradle项目

    现在,要更新项目依赖项,请右键单击项目目录并运行
    Gradle
    ->
    Refresh Dependencies

    您使用的是哪个$jsr310Version?我猜你在运行Java8?当您尝试导入反序列化程序时,您会遇到什么确切的错误?嘿,@fateddy,版本:2.5.1,是的:Java8。我认为这与类路径有关,但猜不出,我对gradle很陌生。
    $jacksonVersion
    $jsr310Version
    应该是一样的。使用这种精确的依赖关系肯定会奏效。如果您没有看到IDE中的依赖项,那么可能是eclipse无法看到gradle管理的依赖项。我假设您使用EclipseGradle插件(EclipseIntegrationGradle,)-确保为您的项目启用了“依赖项管理”-然后尝试刷新依赖项(可以在gradle上下文菜单中通过右键单击项目根文件夹找到)。这不是答案,但确实帮助了我!我不知道hte jsr310和jackson的版本会互相效仿。所以我把jackson更新为2.5.1。但是这个把戏是另一回事。再看看我之前的评论。每次运行
    gradlecleanclipse
    时,都会删除项目描述文件。要更好地使用gradle,请使用eclipse gradle插件,该插件可在(请查看README.md以获取安装说明)中找到。然后从工作区中删除项目(但保留源代码)-然后再次导入项目-但这次作为
    Gradle项目
    。现在要更新项目依赖项,右键单击项目目录并运行
    Gradle->Refresh Dependencies
    。嘿,@fatedy。我可能没有看到你最后的评论并回复了它。这是最后的答案。请在这里给我一个答案,这样我就可以吐出来检查了!您的评论是正确的。添加Thx作为答案!