Создать swagger.json - PullRequest
       7

Создать swagger.json

0 голосов
/ 09 октября 2018

У меня есть проект Java (веб-приложение tomcat) с некоторыми REST Api.Я хочу сгенерировать чванскую документацию для них.Я начал с этого урока ( github ).У меня нет мейвена, мы используем задачу муравья.Я включил swagger-annotations-1.5.0.jar и все jar, которые поставляются с версией JAR 1.5.0 swagger-jaxrs (я могу включить полный список, если это полезно) Я аннотировал некоторый метод и у меня есть класс конфигурации, напримерэто:

@ApplicationPath("/api")
public class Configurator extends Application {
public Configurator() {
    init();
}
private void init() {
    BeanConfig beanConfig = new BeanConfig();
    beanConfig.setVersion("1.0.0");
    beanConfig.setSchemes(new String[]{"http"});
    beanConfig.setHost("myserver.it:8080");
    beanConfig.setBasePath("/swagger-demo/api");
    beanConfig.setResourcePackage("myserver.rest");
    beanConfig.setTitle("RESTEasy, Swagger and Swagger UI Example");
    beanConfig.setScan(true);
}

}

при развертывании его снова tomcat 9 Я вижу этот журнал в файле localhost.log

java.lang.NoSuchMethodError: io.swagger.util.Json.create () Lcom / fasterxml / джексон / DataBind / ObjectMapper;в io.swagger.jaxrs.json.JacksonJsonProvider. (JacksonJsonProvider.java:30) в sun.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод) в sun.reflect.NativeConstructorAccessorImpl.newInstance (родительский объект) (собственный объект)DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) в java.lang.reflect.Constructor.newInstance (Constructor.java:423) в org.glassfish.hk2.utilities.reflection.ReflectionHelper.make75.je).jvnet.hk2.internal.ClazzCreator.createMe (ClazzCreator.java:272) в org.jvnet.hk2.internal.ClazzCreator.create (ClazzCreator.java:366) в org.jvnet.hk2.internal.SystemDescriptor.cate.java: 487) в org.jvnet.hk2.internal.SingletonContext $ 1.compute (SingletonContext.java:83) в org.jvnet.hk2.internal.SingletonContext $ 1.compute (SingletonContext.java:71) в org.glassfish.hk2.utilities.cache.Cache $ OriginThreadAwareFuture $ 1.call (Cache.java:97) в java.util.concurrent.FutureTask.run (FutureTask.java:266) в org.glassfish.hk2.utilities.cache.Cache $ OriginThreadAwareFuture.run (Cache.java:154) в org.glassfish.hk2.utilities.cache.Cache.compute (Cache.Java: 199) в org.jvnet.hk2.internal.SingletonContext.findOrCreate (SingletonContext.java:122) в org.jvnet.hk2.internal.Utilities.createService (Utilities.java:2126) в org.jvnet.hk2.internal.ServiceHandleImpl.getService (ServiceHandleImpl.java:116) по адресу org.jvnet.hk2.internal.ServiceHandleImpl.getService (ServiceHandleImpl.java:90) по адресу org.glassfish.jersey.inject.hk2.AbstractHerg.java: 160) в java.util.stream.ReferencePipeline $ 3 $ 1.accept (ReferencePipeline.java:193) в java.util.LinkedList $ LLSpliterator.forEachRemaining (LinkedList.java:1235) в java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) в java.util.stream.AbstractPipeline.wrapAndCopyInto (AbstractPipeline.java:471) в java.util.stream.ReduceOps $ ReduceOp.evaluateSequential (ReduceOps.java:708) в java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:234) в java.util.stream.ReferencePipeline.collect (ReferencePipeline.java:499) в org.glassfish.jersey.inject,.java: 337) в org.glassfish.jersey.internal.inject.Providers.getCustomProviders (Providers.java:175) в org.glassfish.jersey.message.internal.MessageBodyFactory.initialize (MessageBodyFactory.java:238) в org.glassfish.jersey.message.internal.MessageBodyFactory $ MessageBodyWorkersConfigurator.postInit (MessageBodyFactory.java:136) в org.glassfish.jersey.server.ApplicationHandler.lambda $ initialize $ 2 (ApplicationHandler.java:372 $) в java.forEach (Arrays.java:3880) в org.glassfish.jersey.server.ApplicationHandler.initialize (ApplicationHandler.java:372)на org.glassfish.jersey.server.ApplicationHandler.lambda $ initialize $ 1 (ApplicationHandler.java:316) на org.glassfish.jersey.internal.Errors.process (Errors.java:316) на org.glassfish.jersey.internal.Errors.process (Errors.java:298) в org.glassfish.jersey.internal.Errors.processWithException (Errors.java:256) в org.glassfish.jersey.server.ApplicationHandler.initialize (ApplicationHandler.java:315) в организации.glassfish.jersey.server.ApplicationHandler. (ApplicationHandler.java:282) в org.glassfish.jersey.servlet.WebComponent. (WebComponent.java:335) в org.glassfish.jersey.servlet.ServletContainer.init (ServletContainer.: 178) в org.glassfish.jersey.servlet.ServletContainer.init (ServletContainer.java:370) в javax.servlet.GenericServlet.init (GenericServlet.java:158) в org.apache.catalina.core.StanditerraStandardWrapper.java:1124) в org.apache.catalina.core.StandardWrapper.load (StandardWrapper.java:974) в org.apache.catalina.core.StandardContext.loadOnStartup (StandardContex)t.java:4813) в org.apache.catalina.core.StandardContext.startInternal (StandardContext.java:5125) в org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:183) в org.apache.catalina.core.StandardContext.reload (StandardContext.java:3700) в org.apache.catalina.loader.WebappLoader.backgroundProcess (WebappLoader.java:292) в org.apache.catalina.core.StandardContext.backgroundProj (StandardContext.jpg).) в org.apache.catalina.core.ContainerBase $ ContainerBackgroundProcessor.processChildren (ContainerBase.java:1396) в org.apache.catalina.core.ContainerBase $ ContainerBackgroundProcessor.processChildren (ContainerBase.java:alachecat или org.cat)core.ContainerBase $ ContainerBackgroundProcessor.processChildren (ContainerBase.java:1400) в org.apache.catalina.core.ContainerBase $ ContainerBackgroundProcessor.run (ContainerBase.java:1368) в java.lang.Thread.run (Thread). java.

Если я попытаюсь достичь http://myserver.it:8080/swagger-demo/api/, это даст мне ошибку 404.

Я прочитал этот пост оэта ошибка ( здесь ), но я действительно не могу сказать, что не так.Я борюсьЛюбые советы будут оценены

1 Ответ

0 голосов
/ 10 октября 2018

Я отвечаю про себя, так как наконец-то нашел решение.Проблема была в несовместимости с библиотеками.Я решил использовать этот сайт Jar скачать , который дает мне все зависимости.Затем я сравниваю некоторые библиотеки, которые у меня уже есть в моем проекте, и в ситуации конфликта я выбираю самую новую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...