Мне нужно загрузить файл изображения из моей папки "src / main / resources / images".
Запуск следующего кода внутри eclipse работает нормально:
Image image = Toolkit.getDefaultToolkit().getImage(Thread.currentThread().getClass().getResource("/images/icon.gif"));
Но когда я запустите mvn clean package
и java -jar my-app.jar
В журнале я получаю следующее возвращение:
Exception in thread "main" java.lang.NullPointerException
at java.desktop/sun.awt.SunToolkit.getImageFromHash(SunToolkit.java:653)
at java.desktop/sun.awt.SunToolkit.getImage(SunToolkit.java:689)
at myApp.Main.main(Main.java:51)
Если я пытаюсь напечатать значение Thread.currentThread().getClass().getResource("/images/icon.gif")
, после запуска maven возвращается ноль.
Пожалуйста, как я могу прочитать этот файл ресурсов после сборки и компиляции моего приложения с Maven?
Это мой pom. xml файл:
<build>
<finalName>my-app</finalName>
<sourceDirectory>src/main/java</sourceDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>myapp.Main</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Спасибо