swagger 无法扫描jar文件:坏幻数

ioekq8ef  于 2023-08-05  发布在  其他
关注(0)|答案(3)|浏览(134)

我试图从我的项目中的接口生成swagger。我正在gradle中编写一个新的任务,它可以组装规格。当试图读取一个jar文件或扫描一个jar文件时,它会抛出一个错误,如

DEBUG org.reflections.Reflections - could not scan file META-INF/MANIFEST.MF in url jar<JAR URL>

org.reflections.ReflectionsException: could not create class object from file META-INF/MANIFEST.MF

Caused by: org.reflections.ReflectionsException: could not create class file from MANIFEST.MF
    at org.reflections.adapters.JavassistAdapter.getOfCreateClassObject(JavassistAdapter.java:102)
    at org.reflections.adapters.JavassistAdapter.getOfCreateClassObject(JavassistAdapter.java:24)
    at org.reflections.scanners.AbstractScanner.scan(AbstractScanner.java:30)
    ... 62 common frames omitted

字符串
有人能在这方面帮助我吗?这是我的项目的主要障碍。

hvvq6cgz

hvvq6cgz1#

发现问题:我使用的是swagger core plugin 2.5.0,java源代码兼容性为8.1。然后我改变了插件版本2.7.0,然后它工作正常,没有错误.看起来2.5.0有点问题。感谢各位的回应。

2cmtqfgy

2cmtqfgy2#

你可以使用filterInputsBy,它只扫描类。

Reflections reflections = new Reflections(new ConfigurationBuilder()
            .setUrls(ClasspathHelper.forPackage("com.abc.service"))
            .setScanners(new TypeAnnotationsScanner())
         .filterInputsBy(new FilterBuilder().include(".*class"))
 
 );

字符串

pxq42qpu

pxq42qpu3#

谢谢你的建议。我在使用cxf-rt-rs-service-description-swagger 3.2.0时遇到了同样的问题。(dependency reflections-0.9.11.jar)最后需要降级到3.1.13(dependency reflections-0.9.10.jar)。

相关问题