我编写了一个Java程序,当它运行时,我将文件夹“items”中的每个图像文件的名称添加到ArrayList中。
当我在eclipse中运行应用程序时,这很好。 但是,只要我导出到可运行的JAR文件并运行它,就无法找到图像并返回NullPointerException。
我试过使用getClass()。getResource()但无济于事。
This is what my Package Explorer looks like和 This is what my exported JAR looks like
从第二张图片中可以看出,所有图像都是从items文件夹中取出并留在JAR的根目录中。
非常感谢任何帮助!
答案 0 :(得分:0)
如果您正在使用maven构建工具
,请尝试使用maven-assembly-pluginHow can I create an executable JAR with dependencies using Maven?
https://www.mkyong.com/maven/create-a-fat-jar-file-maven-assembly-plugin/
答案 1 :(得分:0)
将它放在你的pom.xml
中<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<configuration>
<archive>
<manifest>
<mainClass>com.maven.class... (Class path)</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>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>