Java – why does the dropwizard configuration not work?

Recently, I changed the dropwizard version of HVDF project from 0.6 2 to 0.8 2. Once I try to run the application, I get the following error I provide the following configuration classes and YML files:

Configuration class:

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 file:

server:
  applicationConnectors:
    - type: http
      port: 8080

I received the following error while running:

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])

Solution

If you are using Maven shade plug-in, please use the necessary transformer

Adding services resource transformer to your shade plug-in configuration may solve the problem Read more about transformers (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>
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>