当前位置: 首页 > 知识库问答 >
问题:

导出的可运行jar文件出现Java eclipse错误

宋鸿德
2023-03-14

导出的jar文件有问题。当我在Eclipse中运行项目时,它运行得很好,但是当我从控制台作为导出的jar运行它时,我收到以下错误消息:

java.io.FileNotFoundException: firstLaunch.properties (System can't find file)
or
java.io.FileNotFoundException: resources/config/firstLaunch.properties (System can't find file)

代码如下:

public void saveConfigFile(String file, String key, String value) {
    Properties prop = new Properties();
    OutputStream output = null;

    try {

        output = new FileOutputStream(file);

        // set the properties value
        prop.setProperty(key, value);

        // save properties to project root folder
        prop.store(output, null);

    } catch (IOException io) {
        io.printStackTrace();
    } finally {
        if (output != null) {
            try {
                output.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
}

我执行该方法的语法是

if (properties.loadConfigFile("firstLaunch.properties", "value").equals(properties.loadConfigFile("true.properties", "true"))) {
        properties.saveConfigFile("port.properties", "port", "8795");
        properties.saveConfigFile("ip.properties", "ip", temp[1]);
        properties.saveConfigFile("firstLaunch.properties", "value", "false");
        settings.port = properties.loadConfigFile("port.properties", "port");
        settings.myIp = properties.loadConfigFile("ip.properties", "ip");
    } else {
        settings.port = properties.loadConfigFile("port.properties", "port");
        settings.myIp = properties.loadConfigFile("ip.properties", "ip");
    }

共有1个答案

宋凌龙
2023-03-14

您的问题可能与您引用文件位置的方式有关。添加一些细节/代码示例,说明您是如何引用代码的,这样我们就可以确保提供帮助了。话虽如此,这里还有另一种引用属性文件的方法:

将其放在类路径中,如下所示:

private static Properties prop = new Properties();
private static String filename = "<name of file>.properties";
InputStream input = <ClassName>.class.getClassLoader().getResourceAsStream(filename);
try {

    if (input==null) {
        loggerOut.log(Level.SEVERE, "Sorry, unable to find " + filename);
    }
    prop.load(input);   
    loggerOut.info("XML In storage path: " prop.getProperty("<property in file>"));
    fileNameAndPath = prop.getProperty("fileNameAndPathIN").trim();
    logNameAndPath = logPath + logName;

} catch (IOException ex) {
    ex.printStackTrace();
} finally {
    if (input!=null) {
        try {
            input.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
 类似资料:
  • 我有一个java项目。我想把它导出到可运行的jar文件。 我用eclipse来做这件事。 但当我运行创建的jar文件时,我会收到(系统找不到指定的路径)。 如何在任何地方导出文件夹以运行success jar文件?

  • 我尝试将一个具有不同库的Java项目导出到一个可运行的JAR文件中,其中包括一个JavaFX GUI和许多不同的东西。当我在eclipse中运行我的项目时,没有问题。但是,当我试图将它导出到一个可运行的JAR文件,然后我尝试启动时,它从来没有打开一个窗口,只有一个进程在后台运行。 我不知道如何更好地描述我的问题。但也许你已经可以帮我了解这些信息了。 (使用eclipse)

  • 我完全误解了关于将项目导出到JAR的一些事情。 2事情正在发生。

  • 问题内容: 我在将当前项目提取到可执行jar文件时遇到问题。当我在日食中按下运行按钮时,一切正常,但是当我这样做时 然后启动.jar文件;我唯一得到的是带有灰色画布的窗口。它应该启动我编写的游戏(spaceInvaders)。 这是我上载项目的github的链接。我真的不知道错误在哪里,在哪里看。在我的代码中?在我安装的JRE / JDK中?创建罐子时我做错什么了吗? 请帮忙 -。- 问题答案:

  • 我正在用开放的jdk和crontab运行Ubuntu10.10。我制作了一个整洁的小Java应用程序,它做了一些很酷的东西,并将其导出为一个可运行的jar文件。我可以从命令行运行它,但是我需要一些每天运行一次的东西。所以我在一个cron作业中编写了一个shell脚本,该脚本将实际调用jar文件。shell脚本在单独运行时工作正常,它看起来如下所示: 工作完美。因此,我在crontab中添加了以下内

  • 运行hadoop jar文件时出现以下错误 线程“main”java中出现异常。lang.ClassNotFoundException:hdfs: 位于java。网URLClassLoader 1美元。在java上运行(URLClassLoader.java:366) 。网URLClassLoader 1美元。在java上运行(URLClassLoader.java:355) 。安全AccessC