我在Dropwizard 1.3中使用dropwizard-swagger依赖关系,如下所示
<dependency>
<groupId>com.smoketurner</groupId>
<artifactId>dropwizard-swagger</artifactId>
<version>1.3.0-1</version>
</dependency>从文档中看,这似乎是唯一兼容的版本。然而,我遇到了一个问题
ClassNotFoundException: org.zeroturnaround.javarebel.ClassEventListener从一些研究中看,这似乎来自于glassfish依赖,我似乎没有发现任何带来这种依赖的东西。我错过了什么?
发布于 2018-05-12 16:17:21
在深入研究dropwizard-swagger的源代码后,我发现在比1.1.0-1更高的版本中,他们引入了BeanConfig。BeanConfig扫描所有类(不仅仅是您设置为资源包的类),并尝试为它们创建类对象。
“问题”是,在生成的阴影jar中有很多类使用了你的(或者我的) dropwizard应用程序没有提供/使用的类的import语句。
简单的解决方案:回滚到dropwizard-swagger版本1.1.0-1缺点:您只能使用较旧的swagger版本
硬解决方案:找出哪些依赖项正在将使用导入的类拉入到在dropwisard应用程序启动期间失败的类
注意!我正在使用dropwizard-bom,并且没有任何奇怪的依赖项
发布于 2018-12-08 03:17:50
对于我来说,排除了org.reflections解决了这个问题。
<dependency>
<groupId>com.smoketurner</groupId>
<artifactId>dropwizard-swagger</artifactId>
<version>1.3.5-3</version>
<exclusions>
<exclusion>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
</exclusion>
</exclusions>
</dependency>发布于 2019-09-06 18:27:40
我使用swagger编写文档,这对我很有效..
<groupId>com.smoketurner</groupId>
<artifactId>dropwizard-swagger</artifactId>
<version>1.3.12-1</version>
<exclusions>
<exclusion>
<groupId>org.glassfish.hk2.external</groupId>
<artifactId>javax.inject</artifactId>
</exclusion>
</exclusions>
</dependency>```https://stackoverflow.com/questions/49782606
复制相似问题