微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 为什么dropwizard配置不起作用?

最近我将HVDF项目的dropwizard版本从0.6.2移植到0.8.2.一旦我尝试运行应用程序,我得到以下错误.我提供下面的配置类和yml文件

配置类:

package com.mongodb.hvdf;

import io.dropwizard.Configuration;

import java.util.LinkedHashMap;
import java.util.Map;

import com.mongodb.hvdf.configuration.MongoGeneralConfiguration;

public class HVDFConfiguration extends Configuration {

    public MongoGeneralConfiguration mongodb = new MongoGeneralConfiguration();
    public Map<String,Object> services = new LinkedHashMap<String,Object>();
}

Yaml文件

server:
  applicationConnectors:
    - type: http
      port: 8080

我在运行时收到以下错误

config.yml has an error:
  * Failed to parse configuration at: server.applicationConnectors.[0]; Could not resolve type id 'http' into a subtype of [simple type,class io.dropwizard.jetty.ConnectorFactory]
 at [Source: N/A; line: -1,column: -1] (through reference chain: com.mongodb.hvdf.HVDFConfiguration["server"]->io.dropwizard.server.DefaultServerFactory["applicationConnectors"]->java.util.ArrayList[0])

解决方法

如果您使用的是maven shade插件,请使用必要的变压器.

将ServicesResourceTransformer添加到您的shade插件配置可能会解决问题.
阅读更多关于变压器的信息(here).

<configuration>
<transformers>
    <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
        <mainClass>com.yb.exercise.dw.App</mainClass>
    </transformer>
</transformers>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐