#java #eclipse #maven #m2eclipse #m2e
#java #eclipse #maven #m2eclipse #m2e
Вопрос:
Я использую 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 не было сгенерированной папки sources в качестве исходной папки. Я думал, что добавление ссылки «build-helper-maven-plugin» было тем, что мне нужно было сделать, чтобы заставить Eclipse M2E автоматически определять это, но, похоже, это не работает.
Как только я вручную добавил сгенерированную папку sources в качестве исходной папки, это устранило последние ошибки компиляции.
Надеюсь, это релевантный отрывок из моего pom:
<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 не имели никакого значения. Тот же результат.
Комментарии:
1. Я уже пробовал это. Никакой разницы. Я обновлю сообщение этим утверждением.
2. Проверьте эффективный pom.
3. Для чего проверять эффективный pom?