.jar 文件中的 res/ 文件夹 - MANIFEST.MF
res/ folder in .jar file - MANIFEST.MF
因此,在我的代码中,我让应用程序从名为 res/ 的文件夹中获取资源,并在 Manifest.mf 文件中将 "Class-Path" 设置为 res/ 但它不会读取其中的文件jar 中的 res/ 文件夹,它从 jar 文件所在的文件夹中读取 res/ 文件夹。 (抱歉不好解释)
示例:如果我的 jar 位于名为 "Game" 的文件夹中,则 res 文件夹必须位于 "Game" 中才能正常工作。
我的问题是:如何让它从罐子内部读取 res/?
我已经这样设置了 ImageIcons:
ImageIcon icon = new ImageIcon("res/image.png");
阅读javadoc。您正在使用的构造函数描述如下:
public ImageIcon(String filename)
Creates an ImageIcon from the specified file.
所以它根本不使用 class 路径。它只是从当前目录中查找文件 res/image.png。
class 加载程序可以访问 jar 中的所有内容,因为 jar 位于 class 路径中。您不需要任何清单条目。但是你需要使用 class 加载程序加载图像资源:
ImageIcon icon = new ImageIcon(MyClass.class.getResource("/res/image.png"));
因此,在我的代码中,我让应用程序从名为 res/ 的文件夹中获取资源,并在 Manifest.mf 文件中将 "Class-Path" 设置为 res/ 但它不会读取其中的文件jar 中的 res/ 文件夹,它从 jar 文件所在的文件夹中读取 res/ 文件夹。 (抱歉不好解释) 示例:如果我的 jar 位于名为 "Game" 的文件夹中,则 res 文件夹必须位于 "Game" 中才能正常工作。 我的问题是:如何让它从罐子内部读取 res/?
我已经这样设置了 ImageIcons:
ImageIcon icon = new ImageIcon("res/image.png");
阅读javadoc。您正在使用的构造函数描述如下:
public ImageIcon(String filename)
Creates an ImageIcon from the specified file.
所以它根本不使用 class 路径。它只是从当前目录中查找文件 res/image.png。
class 加载程序可以访问 jar 中的所有内容,因为 jar 位于 class 路径中。您不需要任何清单条目。但是你需要使用 class 加载程序加载图像资源:
ImageIcon icon = new ImageIcon(MyClass.class.getResource("/res/image.png"));