Содержимое папок ресурсов Maven копируется в target / классы и оттуда в корень результирующего файла Jar. Это ожидаемое поведение.
Я не понимаю, в чем проблема в вашем сценарии. Ссылка на ресурс через getClass().getResource("/filename.txt")
начинается с корня пути к классу, независимо от того, является ли он (или его элемент) target/classes
или корнем JAR. Единственная возможная ошибка, которую я вижу, это то, что вы используете неправильный ClassLoader
.
Убедитесь, что класс, использующий ресурс, находится в том же артефакте (JAR), что и ресурс, и выполните ThatClass.class.getResource("/path/with/slash")
или ThatClass.class.getClassLoader().getResource("path/without/slash")
.
Но кроме этого: если это не работает, вы, вероятно, делаете что-то не так в процессе сборки. Можете ли вы проверить, что ресурс находится в JAR?