我的 Java 项目中有一个 .property 文件。在该属性文件中有超过20个值。现在我想解析该属性文件并在运行时更改特定的属性值(即运行安装文件时)。我使用了以下代码
Section
${ConfigWrite} "C:resource\conf.properties" SET WEBSERVICE.URL=http://localhost:8080 $R0
;$R0=CHANGED
SectionEnd
运行exe文件后,属性文件中添加的属性如此
SETSERVER.URL=http://localhost:8080
我不知道为什么SET字会出现在这个变量之前?
我的要求:
我需要在运行时为 SERVER.URL 属性赋值(在安装 exe 文件时)?
我需要替换 SERVER.URL 属性的值。但是使用上面在该文件中添加了一个新属性。
我在Windows平台上的 Eclipse 中使用了 NSIS插件。
答案 0 :(得分:1)
调用宏时缺少一些引号,也没有必要指定SET
(在帮助示例中,SET
实际上是DOS批处理文件中命令的一部分),我想最好在磁盘驱动器之后向路径添加反斜杠。
该doc声明语法为:
${ConfigWrite} "[File]" "[Entry]" "[Value]" $var
因此,您的电话必须是:
${ConfigWrite} "C:\resource\conf.properties" "WEBSERVICE.URL" "=http://localhost:8080" $0
请注意参数如何在参数名称WEBSERVICE.URL
和值=http://localhost:8080
之间拆分(请注意开头的等号)。
您也可以使目录动态化:
${ConfigWrite} "$INSTDIR\resource\conf.properties" "WEBSERVICE.URL" "=http://localhost:8080" $0