Многие, кажется, имеют эту проблему, и, как и я, они через некоторое время сдаются.Вот то, что я должен был заставить это работать.Хитрость в использовании относительного пути для поиска файлов заключается в том, чтобы убедиться, что ваша папка classes содержит файлы ресурсов вместе с файлами src.Вот что я в итоге сделал.
1) Если вы используете eclipse, убедитесь, что вы правильно установили .classpath, и выполните PROJECT CLEAN , чтобы увидеть файлы ресурсов, сгенерированные в / classes.Обратите внимание на записи classpath ниже для файлов ресурсов, размещенных в src / main / resource
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry including="**/*.java" kind="src" output="target/test-classes" path="src/test/java"/>
<classpathentry including="**/*.java" kind="src" path="src/main/java"/>
<classpathentry kind="var" path="M2_REPO/javax/mail/mail/1.4.4/mail-1.4.4.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar"/>
<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
2) Если вы также используете maven, убедитесь, что вы сконфигурировали свой pom.xml согласно https://maven.apache.org/guides/introduction/introduction-to-the-pom.html и выполните mvn clean install для просмотра файлов в папке target / classes
3) После того, как вы получили файлы ресурсов в каталоге / classes, в java необходимо сделать следующее.Не забудьте косую черту.
try {
properties.load(getClass().getResourceAsStream("/mail-config.properties"));
} catch (IOException e) {
e.printStackTrace();
}
Я мог бы добавить несколько изображений, но у меня не было очков.:)