Почему Eclipse m2e не добавляет автоматически созданную исходную папку в classpath? - PullRequest
0 голосов
/ 21 марта 2019

Я использую 2018-12 с Java 8, но я использую Eclipse с Java 11.

У меня есть версия "1.10.0.20181127-2120" плагина m2e.

У меня есть куча проектов с похожими характеристиками. Maven проекты работают с Spring Boot. Все они хранятся в Git.

По какой-то причине один из этих проектов был несколько поврежден этим утром. Это все равно будет нормально работать из командной строки. Eclipse все еще знал, что это проект maven, но у него не было исходных папок. Файл .classpath не был пустым, он был очень минимальным.

Я решил эту конкретную проблему, просто скопировав файл .classpath из аналогичного проекта в этот проект. Это устранило большинство проблем, но я вспомнил, что этот проект использует плагин генератора кода вместе с «build-helper-maven-plugin», чтобы указать, где генерируется источник. Я обнаружил, что в Eclipse не было сгенерированной исходной папки в качестве исходной. Я подумал, что добавление ссылки «build-helper-maven-plugin» - это то, что мне нужно было сделать, чтобы Eclipse M2E автоматически обнаружил это, но, похоже, он не работает.

После того, как я вручную добавил сгенерированную исходную папку в качестве исходной, это очистило последние ошибки компиляции.

Это, я надеюсь, актуальная выдержка из моего письма:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
                <execution>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>add-source</goal>
                    </goals>
                    <configuration>
                        <sources>
                            <source>${project.build.directory}/java-gen</source>
                        </sources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.jsonschema2pojo</groupId>
            <artifactId>jsonschema2pojo-maven-plugin</artifactId>
            <version>0.4.34</version>
            <configuration>
                <sourcePaths>
                    <sourcePath>${basedir}/src/main/schema/...</sourcePath>
                    <sourcePath>${basedir}/src/main/schema/...</sourcePath>
                </sourcePaths>
                <targetPackage>...</targetPackage>
                <annotationStyle>jackson2</annotationStyle>
                <useCommonsLang3>true</useCommonsLang3>
                <useDoubleNumbers>true</useDoubleNumbers>
                <includeAccessors>true</includeAccessors>
                <includeAdditionalProperties>true</includeAdditionalProperties>
                <sourceType>jsonschema</sourceType>
                <generateBuilders>true</generateBuilders>
                <includeJsr303Annotations>true</includeJsr303Annotations>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

Обновление

Удаление проекта Eclipse и повторный импорт из git ничего не изменили. Тот же результат.

...