Eclipse добавляет шаблон исключения ** в src/main/resources: как прочитать файл ресурсов?

Я создал простой проект Maven с Eclipse (Oxygen.2 Release (4.7.2)) со стандартной папкой src / main / resources и добавил его в classpath. Проблема в том, что Eclipse добавляет шаблон исключения ** в папку src / main / resources. Вот несколько фотографий, чтобы лучше объяснить ситуацию:

введите описание изображения здесь введите описание изображения здесь

Вы можете воспроизвести ситуацию самостоятельно, просто не забудьте запустить Maven -> Обновить проект...

Согласно этому ответу, это не ошибка, а правильное поведение.

Итак, вопрос: как мне прочитать файл ресурсов из src/main/resources?

Я не могу использовать явный путь src / main / resources, так как в скомпилированных результатах такого пути не будет, и я не могу использовать.getResource или.getResourceAsStream, так как Eclipse установил шаблон исключения из ** на этом пути.

1 ответ

Решение

Я пишу этот ответ на случай, если у кого-то есть такая же проблема.

Я обнаружил, что шаблон исключения в Eclipse в папке src/main/resource является нормальным (см. Ответ, связанный выше). Исключение означает, что не Eclipse обрабатывает компиляцию папки src/main/resources, а Maven (плагин Maven Eclipse, если быть точным, M2Eclipse). Тот факт, что эти ресурсы не были найдены в пути к классам, произошел из-за исключения, присутствующего в файле pom.xml:

<resource>
    <directory>src/main/resources</directory>
    <excludes>
        <!-- these resources will be excluded from the classpath; they will not go in to the target/classes folder and will not be packaged into the artifact -->
        <exclude>**/*</exclude>
    </excludes>
</resource>

Шаг 1. удалить проект из eclipse шаг 2. импортировать проект заново шаг 3. Перейти к папке, которую необходимо добавить в качестве исходной папки.

https://stackru.com/images/691c87492f08d a1810748e56ff12d621b1067636.jpg

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