我在从属性文件中读取值时遇到问题。在我的项目中,有一个名为“env”的文件夹。在里面有三个名为“default”,“dev”和“staging”的文件夹。这三个文件夹包含三个名为“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
答案 0 :(得分:0)
看起来你实现同样的目标背后有几步。
然后加载属性文件,如:
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
}
它应该工作。 (我没有测试,但我没有看到任何失败的原因)。