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开发的新手,所以它的工作原理对我来说每天都越来越清晰
要解决类似问题,请执行以下操作:
编译(“com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.5.1”)
GradleCleanEclipse&&GradleEclipse
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作为答案!