DropWizard Gradle 构建问题

Issues with DropWizard Gradle build

我将一个 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'
    }
}