我需要以编程方式进行的属性更改以保持服务器重新启动、重新部署等。基本上,我需要在进行更改时修改属性文件。这甚至可能吗?目前,我的属性正常工作,但属性文件夹中的值永远不会改变。
String realPath = getPortletContext().getRealPath("/");
FileInputStream in = new FileInputStream(realPath+"json.properties");
Properties p = new Properties();
p.load(in);
System.out.println(p.getProperty("json"));
in.close();
p.setProperty("json", "test");
System.out.println(p.getProperty("json"));
FileOutputStream out = new FileOutputStream(realPath+"json.properties");
p.store(out, "test");
in.close();
out.close();
System.out.println(com.liferay.util.portlet.PortletProps.get("json"));
com.liferay.util.portlet.PortletProps.set("json", "change");
com.liferay.util.portlet.PortletProps.set("new", "change");
System.out.println(com.liferay.util.portlet.PortletProps.get("new"));
门户网站属性:
json=help
new=new1
json.properties
json=blank
运行代码时的输出:
空白测试帮助更改
正如您在上面看到的,我尝试使用常规 java 属性并尝试使用 liferay 属性。我需要基本上需要获取一些 json,对其进行编辑,然后将其保存以备后用。我需要更改持续到再次编辑。