Загрузчик классов Maven не находит ресурсов

При использовании maven для упаковки jar (не уверен, что это проблема maven) java ClassLoader не может найти какие-либо ресурсы.

Структура банки -

Значение test.class.getClassLoader().getResourceAsStream("") (или любого другого существующего каталога) пусто. Нет папок или файлов или не найдено.

Сценарий сборки Maven:

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>9</source>
          <target>9</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <shadedArtifactAttached>true</shadedArtifactAttached>
              <transformers>
                <transformer implementation=
                                     "org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                  <mainClass>org.swordofsouls.discord.chatexporter.test</mainClass>
                </transformer>
              </transformers>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

Любая помощь будет принята с благодарностью.

Спасибо

Пробовал использовать разные ClassLoaders.

Значение Thread.currentThread().getContextClassLoader() равно нулю.

Значение ClassLoader.getSystemClassLoader() равно нулю.

Куда вы вложили свои ресурсы? Покажите макет проекта.

khmarbaise 23.11.2022 08:08

Ресурсы @khmarbaise находятся в папке ресурсов по умолчанию, «Html» — это папка, помещенная в папку ресурсов, которая содержит файлы, к которым я хочу получить доступ.

SwordOfSouls 23.11.2022 08:59

Затем вам нужно использовать getClass().getResourceAsStream("/Html/...") для доступа к ресурсам...

khmarbaise 23.11.2022 09:12
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
79
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Решение заключалось в использовании / вместо File.separator

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