簡體   English   中英

在Maven項目中保存用戶狀態

[英]save user status in maven project

我正在用netbeans IDE和maven編寫一個javaFX項目。

我將用戶編輯保存在屬性文件中,並在應用程序啟動時加載它,我想在應用程序關閉時更新它,以備下次使用。

所以我正在讀取屬性文件,如下所示:

public static Properties propConfig = new Properties();

InputStream input;
input = Config.class.getClassLoader().getResourceAsStream("config/displayConfig.properties");
propConfig.load(input);

效果很好..

但我不知道如何更新屬性文件:(作為

    output =  new FileOutputStream( new File(Config.class.getClassLoader().getResource("config/displayConfig.properties").toURI()) );

無法工作,因為它從jar讀取資源文件

jar:file:/D:/freelance%20projects/01%20school%20tool%20bar/mavenprojectFX/target/racer40-1.0-SNAPSHOT.jar!/config/displayConfig.properties

通常,不建議在JAR文件中更新文件。 請改用本地文件,例如:

Path userDirPath = Paths.get(System.getProperty("user.home"), ".<myAppSymbolicName>", "<myAppVersion>");
Path configDirPath =  userDirPath.resolve("config"); 
Path displayConfigFilePath = configDirPath.resolve("displayConfig.properties");
// read file

好吧,我做了一個變通辦法,因為我只能從jar中讀取文件,所以我定義了一個新的屬性文件,並且在其中定義了配置路徑。

我已經在POM.xml中修改了資源以將過濾設置為true

    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>

我已經將路徑屬性文件放在“ src / main / resources / config”文件夾中

路徑文件包含

Path=${project.build.directory}

我正在閱讀以下內容

InputStream pathStream
                = Config.class.getClassLoader().getResourceAsStream("config/path.properties");

        Properties pathProperties = new Properties();
        pathProperties.load(pathStream);
        path = pathProperties.get("Path").toString().replace("target", "");
        System.out.println(pathProperties.get("Path"));
        pathStream.close();

然后我正在使用'path'變量,如下所示

OutputStream  output = new FileOutputStream(new File(path + displayConfig.properties"));

所以我現在將配置文件“ displayConfig.properties”放在jar的相同路徑中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM