我编写了一个Java程序,当它运行时,我会将文件夹“items”中每个图像文件的名称添加到ArrayList中。
当我在eclipse中运行应用程序时,这很好。但只要我导出到一个可运行的JAR文件并运行它,就找不到图像并返回NullPointerException。
我尝试使用 getClass().getResource() 但无济于事。
这是我的包浏览器的样子,这是我导出的JAR的样子
从第二张图像中可以看出,所有图像都从 items 文件夹中取出并保留在 JAR 的根目录中。
任何帮助将不胜感激!
把这个放在你的绒球里.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>
如果您正在使用maven构建工具,请尝试maven组装插件
如何使用Maven创建具有依赖关系的可执行JAR?
https://www . mkyong . com/maven/create-a-fat-jar-file-maven-assembly-plugin/
我已经用Eclipse创建了一个可运行的jar。在我的项目中,我有一个叫做问卷的文件夹,里面有一些我使用的文本文件。当我运行我的可运行jar时,它不起作用,除非我在与jar相同的文件夹中有文件夹调查表。我尝试了一些我在stackoverflow中读到的解决方案,比如将文件夹调查表添加为源文件夹,也可以从Properties->java build path->Libraries->add clas
我需要创建一个应用程序,使用各种参数,如高度,体积或基础面积排序各种类型的多边形。将通过命令行传递具有多边形参数、排序类型参数、排序方法参数的文件名的参数。该文件位于项目中的“我的资源”文件夹中的“我的src”文件夹之外。我已经实现了所有的程序,当我通过eclipse运行配置使用pass参数运行时,它工作得很好。但是当我尝试使用cmd相同的参数运行我的.jar文件时,它给出了。 我使用打开了我的j
我在Eclipse中有一个Java项目。这是文件夹结构: 代码包位于src中,所有图像都位于res文件夹中。 代码中的图像参照如下: 但是,在我将项目导出到JAR文件后(通过使用导出- 所有图像都在根文件夹中,无法正确引用。如何正确地引用这些图像,使它们在Eclipse和导出的JAR中都可见?
问题内容: 我正在尝试压缩包含子文件夹的文件夹。尝试压缩名为10-18-2010_4D的文件夹。以上程序以以下异常结束。请提供有关如何解决此问题的建议。 问题答案: 您需要检查文件是否为目录,因为您无法将目录传递给zip方法。 看一下该页面,该页面显示了如何递归压缩给定目录。
出于某种原因,我一直在GradleJavaFX项目中获得NPE。 我的文件夹结构非常基本。我在文件夹中有一个包含java文件的包。我的资源也在文件夹中。当我尝试加载它给了我一个NPE。 这是一个助手类。 从我调用:
我正在尝试创建一个包含以下项目内容的jar文件 项目 user_interface(包文件夹,包括与GUI相关的所有.类) function_operations(包文件夹,包括与操作相关的所有.类) 声音(文件夹包括所有声音文件) 图标(包括所有图像和图标) jar(包括所有外部jar文件) manifest.txt(有一行*main-class:user_interface.messenger