簡體   English   中英

從屬性文件讀取內容

[英]Reading contents from property file

我在從屬性文件讀取值時遇到問題。 在我的項目中,有一個名為“ env”的文件夾。 里面有三個文件夾,分別是“默認”,“開發”和“登台”。 這三個文件夾包含三個名為“ default.properties”,“ dev.properties”和“ staging.properties”的屬性文件。 在所有這三個屬性文件中,我具有以下內容:

# Emailing configurations
sender_email_address = osanda.nimalarathna@maxsoft.com
sender_email_password = 1qaz2wsx@
recipients_email_addresses = eranga.heshan@maxsoft.com
email_subject = MaxSoft IntelliAPI Email Test

在此處輸入圖片說明

現在,我正在使用Java閱讀它們。

package com.maxsoft.ata.util;

import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class Email {

    private static final String SENDER_EMAIL_ADDRESS = System.getenv("sender_email_address");
    private static final String SENDER_EMAIL_PASSWORD = System.getenv("sender_email_password");
    private static final String RECIPIENTS_EMAIL_ADDRESSES = System.getenv("recipients_email_addresses");
    private static final String EMAIL_SUBJECT = System.getenv("email_subject");

    public static void send(String messageBody) {

        System.out.println(SENDER_EMAIL_ADDRESS);

        /**
         * Email sending codes
         */

        }

    public static void main(String[] args) {
        send("test message");
    }
}

在控制台中,我得到的輸出為null

似乎您在實現相同目標方面落后了幾步。

  1. 每個環境都有3個不同的屬性文件。 因此,您需要一個映射器來映射相同的映射器。
  2. 然后加載屬性文件,例如:

     InputStream is = null; try { this.prop = new Properties(); is = this.getClass().getResourceAsStream("your env specific property file"); prop.load(is); } catch (FileNotFoundException e) { //handle exception } catch (IOException e) { //handle exception } 

它應該工作。 (我沒有進行測試,但看不到任何失敗的原因)。

暫無
暫無

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

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