Форс-Maven-плагин. Я не могу найти swagger.json на mvn compile

Я не знаю, что я делаю не так. Ранее мы использовали swagger-core в нашем проекте JAX-RS на Джерси для генерации swagger.json. Это повлияло на нашу производительность, и затем мы нашли swagger-maven-plugin, который генерирует swagger.json только во время компиляции, а не во время выполнения. Поэтому я попытался перейти на Swagger-Maven-плагин. Я надеюсь, что я понимаю это правильно. Я оставил web.xml, как это было во время конфигурации ядра Swagger и зависимости maven, но добавил плагин в ту же сборку, например, так: pom.xml

    <profile>
        <id>daily</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <resources.directory>${basedir}/src/daily/resources
            </resources.directory>
            <resources.test.directory>${basedir}/src/test/daily/resources
            </resources.test.directory>
            <config.directory>${basedir}/src/daily/config</config.directory>
            <env.base.dir>${project.build.directory}/etc</env.base.dir>
        </properties>
        <dependencies>
            <dependency>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-jersey-jaxrs</artifactId>
                <version>1.5.0</version>
                <scope>compile</scope>
            </dependency>
        </dependencies>
        <build>
            <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>com.github.kongchen</groupId>
                        <artifactId>swagger-maven-plugin</artifactId>
                        <version>3.1.0</version>
                        <configuration>
                            <apiSources>
                                <apiSource>
                                    <springmvc>false</springmvc>
                                    <locations>
                                        <location>api.resource</location>
                                        <location>api.model.datagov</location>
                                        <location>api.model.eventitem</location>
                                        <location>api.model.item</location>
                                    </locations>
                                    <schemes><scheme>http</scheme></schemes>
                                    <basePath>/itemapi</basePath>
                                    <info>
                                        <title>ItemAPI</title>
                                        <version>0.0.1-SNAPSHOT</version>
                                    </info>
                                    <outputPath>${basedir}/src/main/webapp/output.html</outputPath>
                                    <swaggerDirectory>${basedir}/src/main/webapp/dist</swaggerDirectory>
                                    <attachSwaggerArtifact>true</attachSwaggerArtifact>
                                </apiSource>
                            </apiSources>
                        </configuration>
                        <executions>
                            <execution>
                                <phase>compile</phase>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </pluginManagement>
            <resources>
                <resource>
                    <directory>${basedir}/src/daily/resources</directory>
                </resource>
                <resource>
                    <directory>src/main/resources</directory>
                </resource>
            </resources>
            <testResources>
                <testResource>
                    <directory>${basedir}/src/test/daily/resources</directory>
                </testResource>
                <testResource>
                    <directory>${basedir}/src/test/resources</directory>
                </testResource>
            </testResources>
        </build>
    </profile>

Мне пришлось добавить тег pluginManagement, потому что тег выполнения выдавал ошибку. Кстати, я делаю все это в затмении.

Это конфигурация swagger в web.xml, если она полезна:

    <servlet>
    <servlet-name>JAX-RS Servlet</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>
        io.swagger.jaxrs.listing;
        io.swagger.jaxrs.json;
        org.codehaus.jackson.jaxrs;
        api.resource
        </param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>JAX-RS Servlet</servlet-name>
    <url-pattern>/itemapi/*</url-pattern>
</servlet-mapping>

<servlet>
    <servlet-name>Jersey2Config</servlet-name>
    <servlet-class>io.swagger.jaxrs.config.DefaultJaxrsConfig</servlet-class>
    <init-param>
        <param-name>api.version</param-name>
        <param-value>0.0.1-SNAPSHOT</param-value>
    </init-param>
    <init-param>
        <param-name>swagger.api.title</param-name>
        <param-value>ItemApi</param-value>
    </init-param>
    <init-param>
        <param-name>swagger.api.basepath</param-name>
        <param-value>/itemapi/</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
</servlet>

Теперь я щелкаю правой кнопкой мыши по проекту и выбираю maven -> build -> clean install, и он успешно собирается, но в папке webapp я не вижу ни файла output.html, ни папки "dist" no swagger.json. Я даже попробовал через cmd перейти к проекту git и запустить mvn compile. Так же. Создайте успех, но на самом деле ничего не происходит. Что я делаю неправильно?

0 ответов

Другие вопросы по тегам