gpt4 book ai didi

java-jar文件找不到资源

转载 作者:行者123 更新时间:2023-12-01 16:08:17 25 4
gpt4 key购买 nike

我正在开发一个java应用程序,在程序中我使用一些文件,例如图像、本地数据库和.htm文件(用作帮助文件)。

我尝试使对这些资源的访问与位置无关。因此,我在包含源文件的包中创建了一个名为 resources 的子文件夹,并将所有这些图像等放入其中。我通过 .getResource() 方法访问它们,而不是使用路径。例如,这就是我访问图像资源的方式:

lang_icon=new javax.swing.ImageIcon(getClass().getResource("/myeditor/resources/checked.gif"));

问题是,当构建.jar 文件时,它无法正常工作。成功加载图片,但无法连接本地数据库或打开.htm文件。
这是我用来访问 .htm 文件的代码(当我通过 Netbeans 运行应用程序时它工作正常)

URL helpFile= getClass().getResource("/myeditor/resources/help/help.htm");

try {
BrowserLauncher launcher = new BrowserLauncher();
launcher.openURLinBrowser(helpFile.toString());
} catch (BrowserLaunchingInitializingException ex) {
Logger.getLogger(mainAppFrame.class.getName()).log(Level.SEVERE, null, ex);
} catch (UnsupportedOperatingSystemException ex) {
Logger.getLogger(mainAppFrame.class.getName()).log(Level.SEVERE, null, ex);
}

这是我用来访问本地数据库的代码

URL url = getClass().getResource("/myeditor/resources/icddb");
database = new File(url.getFile());
try
{
Class.forName("org.hsqldb.jdbcDriver");

con = DriverManager.getConnection("jdbc:hsqldb:file:" + database+"\\icddb", "sa", "");

当我尝试通过 .jar 文件打开 .htm 文件时,它显示此错误“此文件没有与之关联的程序来执行此操作。在控制面板的文件夹选项中创建关联”。
当我尝试连接到本地数据库时,它显示“严重无法重新打开数据库”。
所有想法表示赞赏!谢谢你,抱歉我的英语!

最佳答案

您能打印出您要求浏览器打开的 URL 吗?这应该可以更清楚地表明正在发生的事情。

我怀疑您从 getResource() 获取的 URL 是指向 .jar 文件的 URL。因此,浏览器将很难打开它。我(也许)会将该文件提取到临时目录并让浏览器打开它。

关于java-jar文件找不到资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2171672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com