Проект Eclipse не распознает артефакты Swagger Codegen

Я добавил Swagger Codegen в свой проект Eclipse, изменив файл pom.xml напрямую:

<plugin>
    <!--
        Plugin that provides API-first development using swagger-codegen to
        generate Spring-MVC endpoint stubs at compile time from a swagger definition file
    -->
    <groupId>io.swagger</groupId>
    <artifactId>swagger-codegen-maven-plugin</artifactId>
    <version>${swagger-codegen-maven-plugin.version}</version>
    <executions>
        <execution>
                <id>generate-swagger-javaclient</id>
                <phase>generate-sources</phase>
                <goals>
                    <goal>generate</goal>
                </goals>
                <configuration>
                    <inputSpec>src/main/resources/swagger/remote-api.json</inputSpec>
                    <language>java</language>
                    <apiPackage>com.myproj</apiPackage>
                    <modelPackage>com.myproj.model</modelPackage>
                    <generateSupportingFiles>true</generateSupportingFiles>
                    <generateApiTests>false</generateApiTests>
                    <configOptions>
                        <dateLibrary>java8</dateLibrary>
                    </configOptions>
                    <library>resttemplate</library>
                </configuration>
            </execution>
        </executions>
    
</plugin>

Если я запускаю обновление Maven или цель Maven generate-sources, я получаю все артефакты, сгенерированные в папке /target/generated-sources/swagger/src моего проекта Eclipse.

Однако Eclipse их не распознает. Должен ли я редактировать свой путь сборки Eclipse вручную, как какой-то простолюдин, или Eclipse должен автоматически распознавать эту новую исходную папку?


person IcedDante    schedule 17.01.2018    source источник
comment
Какая версия с-с-м-р?   -  person chrisinmtown    schedule 26.04.2019


Ответы (4)


В Eclipse 4.9.0 (2018-09) мне пришлось добавить папку сгенерированных источников в качестве исходной папки для проекта следующим образом:

  1. открыть вид "Навигатор"
  2. перейдите к target/generated-sources (или любой другой папке для сгенерированных источников).
  3. щелкните правой кнопкой мыши на этой папке
  4. нажмите «Путь сборки» -> «Использовать как исходную папку»

Снимок экрана дерева меню

Не решает проблему «Выполнение плагина не включено в конфигурацию жизненного цикла».

person Torsten Dreyer    schedule 14.05.2019

Ctrl+Shift+R

Открывает диалоговое окно «Открыть ресурс». Помимо строки сообщения «Введите имя ресурса ....», есть раскрывающийся список. Когда вы щелкаете по нему, вы получаете такие параметры, как «показать статус», «показать производные источники» и т. Д.

Вы должны убедиться, что установлен флажок «Показать производные источники». Eclipse также начнет показывать артефакты, сгенерированные чванством.

person Caffeine Coder    schedule 19.07.2019

Вы можете использовать build-helper-maven-plugin для добавления сгенерированных источников в путь сборки, если сам этот плагин не поддерживает это.

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>add-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>${project.basedir}/target/generated-sources/</source>
                </sources>
            </configuration>
        </execution>
    </executions>
</plugin>
person JSamir    schedule 29.08.2018

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

person IcedDante    schedule 20.03.2018
comment
В Eclipse Photon с использованием плагина swagger codegen maven v 2.4.5 сгенерированная папка для добавления — target/generated-sources/swagger/src/main/java, и Eclipse распознает новые классы. Но Eclipse по-прежнему жалуется, что выполнение подключаемого модуля не охвачено конфигурацией жизненного цикла, поэтому проект остается в состоянии ошибки. Есть ли решение? - person chrisinmtown; 26.04.2019
comment
@chrisinmtown - я потратил довольно много времени на то, чтобы выяснить, что даже если мне придется вручную добавить исходную папку, какая это? Но ваш комментарий мне помог. Спасибо! - person jsmtslch; 24.05.2021