maven сборка jar файла с картинками

Вопрос по получению jar файла при помощи мавена. Есть приложение с простым gui на swing. В этом приложении есть JLabel в который я вставляю картинку.

Вот пример кода вставки картинки и частичная структура проекта:

jLabelName.setIcon(new ImageIcon("src\\main\\resources\\images\\spritzExample.jpg"));

Скриншот: структура проекта в maven

Проблема в том, что если делаю jar файл обычным способом, то картинки не подгружаются. Если кто может, помогите готовым кодом. Желательно для тупых. Я в мавен вообще не умею)

На всякий случай кидаю код pom файла

<?xml version="1.0" encoding="UTF-8"?>

http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0

<groupId>name</groupId>
<artifactId>name</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <mainClass>Main</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>8</source>
                <target>8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <packaging>jar</packaging>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>

<dependencies>
    <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>1.12.1</version>
    </dependency>
</dependencies>


Ответы (2 шт):

Автор решения: Arty Mart

Вообщем решил вопрос создав в корне проекта папку images и сделав там соответствующие картинки. В самом проекте пути к картинкам прописал так:

Obgect.setImages("images/imageName.jpg");

При сборки проекта в архив, вместе с jar файлом помещаю и папку с картинками. При распаковке всего архива в единую папку все файлы подгружаются нормально. На винде работает, мб на других ОС надо пользоваться спец инструментом для определения направления слэшей, но это не точно, не тестил)

→ Ссылка
Автор решения: Podushkoved

Для этих целей существует maven-resources-plugin. В настройках нужно указать расположение папки с ресурсами и в какую папку их копировать в архиве:

<build>
    <defaultGoal>install</defaultGoal>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <targetPath>resources</targetPath>
        </resource>
        <resource>
            <directory>src/main/properties</directory>
            <targetPath>properties</targetPath>
        </resource>
        . . .
    </resources>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>3.1.0</version>
        </plugin>
        . . .
    </plugins>
</build>

Затем получить ресурсы (если это картинки) можно так:

BufferedImage[] images = new BufferedImage[10];

for (int i = 0; i < 10; i++) {
    images[i] = ImageIO.read(
            ThisClassName.class.getResourceAsStream("/resources/" + i + ".png"));
}
→ Ссылка