繁体   English   中英

java.lang.NoClassDefFoundError:使用dropwizard时io / dropwizard / jetty / RequestLogFactory

[英]java.lang.NoClassDefFoundError: io/dropwizard/jetty/RequestLogFactory when using dropwizard

当我从Hibernate更改为JDBI并尝试启动我的应用程序时,发生以下错误

java.lang.NoClassDefFoundError:io / dropwizard / jetty / RequestLogFactory

堆栈跟踪说,此问题的原因是在我的配置类中的类定义中。 但是我不知道怎么了。 有人遇到这个问题吗?

MyConfiguration.java

import com.fasterxml.jackson.annotation.JsonProperty;
import io.dropwizard.Configuration;
import io.dropwizard.db.DataSourceFactory;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;

public class MyConfiguration extends Configuration {

    @JsonProperty
    @NotNull
    private DataSourceFactory database;

    @JsonProperty
    @NotEmpty
    private String someString;


    public DataSourceFactory getDataSourceFactory() {
        return database;
    }

    public String getSomeString() {
        return someString;
    }
}

编辑我正在使用dropwizard 1.0.0和RequestLogFactory既不在给定的包中,也不是Intellij找不到该类。

您没有直接使用RequestLogFactory,但是似乎您要导入的类之一,并且需要在您的类路径中显示jar,以便您导入的这些类在运行时正常工作。 您应该跟踪需要在包含RequestLogFactory类的类路径上包含的jar。

我最好的猜测是您缺少RequestLogFactory类的import语句:

import com.fasterxml.jackson.annotation.JsonProperty;
import io.dropwizard.Configuration;
import io.dropwizard.db.DataSourceFactory;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;

您可能需要包括:

import io.dropwizard.jetty.RequestLogFactory;

或简单地(如果您在码头内有更多班级):

import io.dropwizard.jetty.*;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM