java - DropWizard Gradle 构建的问题

标签 java gradle jackson dropwizard

我将一个 Dropwizard 项目导入到 Intellij IDEA 中(使用项目本身的 Gradle Wrapper)。它对其他人有用,但我最终遇到了这样的问题:

这是 gradle 依赖的要点。
https://gist.github.com/vineelya/d882bbd0885fafba785ca58f106dfc8b 线程“main”中的异常 java.lang.NoSuchMethodError: com.fasterxml.jackson.core.JsonFactory.requiresPropertyOrdering()Z

dependencies {
    compile (
            'io.dropwizard:dropwizard-core:' + dropwizardVersion,
            'io.dropwizard:dropwizard-hibernate:' + dropwizardVersion,
            'io.dropwizard:dropwizard-migrations:' + dropwizardVersion,
            'io.dropwizard:dropwizard-auth:' + dropwizardVersion,
            'io.dropwizard:dropwizard-assets:' + dropwizardVersion,
            'io.dropwizard:dropwizard-forms:'+ dropwizardVersion,

最佳答案

您有两个依赖项正在导入旧版本的 Jackson Core

com.amazon.alexa:alexa-skills-kit:1.2
com.google.api-client:google-api-client:1.19.1

虽然 Gradle 应始终选择最新版本,但这可能会导致您的错误。
因此,使用排除它们

implementation('com.amazon.alexa:alexa-skills-kit:1.2') {
   exclude group: 'com.fasterxml.jackson.core', module: 'jackson-core'
}

implementation('com.google.api-client:google-api-client:1.19.1') {
   exclude group: 'com.fasterxml.jackson.core', module: 'jackson-core'
}

或者,将它们更新到兼容的(可能是最新的)版本(例如,参见 MavenCentral )。

要强制解决特定版本,您可以使用

configurations.all {
    resolutionStrategy {
        force 'com.fasterxml.jackson.core:jackson-core:2.8.8'
    }
}

关于java - DropWizard Gradle 构建的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55009341/

相关文章:

java - 添加一个节点到循环链表

java - Android NFC 设备所有者配置 : send custom properties. 可能吗?

java - 如何在 Jenkins 上的 Gradle 构建中过滤测试而无需提交?

gradle - 如何获取Gradle TestKit测试项目的 `sourceSets`?

java - FasterXML - Jackson XML 扩展将 pojo 中的值转换为 null

java - 文件可用后立即运行 Spring Batch 作业

java - 来自动态 SWT 按钮的 ActionEvent

jenkins - Jacoco 0% 代码覆盖率

java - 使用 Jackson 在反射反序列化之上自定义反序列化

java - 如何使用 jackson 解析具有可变数量的第二个分数的 RFC3339 时间戳