java - 如何使用 NSIS 脚本在运行时读取属性文件?

标签 java nsis

我的 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 词出现在这个变量之前?

我的要求:

  1. 我需要在运行时(安装 exe 文件时)为 SERVER.URL 属性赋值?

  2. 我需要替换 SERVER.URL 属性的值。但是使用上面的方法在该文件中又添加了一个新属性。

    <

我在Windows平台上的Eclipse中使用了NSIS插件

最佳答案

调用宏时缺少一些引号,也不需要指定SET(在帮助的示例中,SET实际上是命令的一部分DOS批处理文件),我想最好在磁盘驱动器后面的路径中添加反斜杠。

文档指出语法是:

${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

关于java - 如何使用 NSIS 脚本在运行时读取属性文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12489459/

相关文章:

java - REST 子资源定位器

java.sql.SQLException : You cannot rollback with autocommit set

windows - NSIS RMDir 无法删除 ProgramData 中用户创建的文件

function - NSiS 在安装结束时调用函数转储日志文件

nsis - 最后使用的SetRegView的目的是什么?

windows - NSIS 卸载程序权限级别

java - 特定查询直接运行良好,或者对其进行任何更改但在当前状态下运行时间更长

java - 关于垃圾收集和引用

java - Flex+JPA/Hibernate+BlazeDS+MySQL这个怪物怎么调试?

windows - NSIS 以静默模式重新启动。如何沟通?