izpack 如何用 windows 目录位置中的 space 将反斜杠“\”替换为斜杠“/”或“\\”
izpack how to replace backslash "\" with slash "/" or with "\\" in windows directory location with space
我正在使用 izpack 安装程序来安装我在 Windows 中开发的应用程序。
我的应用程序根文件夹中将包含 space。
在配置 .properties 文件中有一个 属性 文件夹位置。
PluginFolder=${plugin.dir}
例如我的示例 windows-目录位置是 "C:\My Application Folder\Plugins Folder"
因为java无法读取属性 in file with only "\" in folder-path.
安装后需要替换为实际的文件夹路径,如下所示。
PluginFolder=C:\My Application Folder\Plugins Folder
or
PluginFolder=C:/My Application Folder/Plugins Folder
以上任何一项都适用于我的应用程序。
在 izpack 安装程序文件夹位置读取使用
<panel ...>
...
<field type="dir" align="left" variable="plugin.dir">
<spec txt="Plugin Directory :" size="25" set="${plugin.default.dir}" />
</field>
....
</panel>
并且配置文件中的属性是使用
设置的
<parsable targetfile="$INSTALL_PATH/config/myapp.properties" type="javaprop">
<os family="windows" />
</parsable>
但是在 izpack 安装程序中使用 type="javaprop" 是在文件夹路径中附加“\”和 SPACE。我不需要,因为我的应用程序无法读取它。
PluginFolder=C:\My\ Application\ Folder\Plugins\ Folder
如果文件夹路径中没有 space 并且将所有“\”替换为“\”,则使用 type="java" 可以正常工作。但是文件夹路径中有 space,这很可能在 Windows 中,而且我的应用程序也需要它,但它不起作用。
实际上我不想将文件夹路径中的 "SPACE" 替换为“\SPACE”。
请大家帮我解决一下 izpack 安装程序中的这个问题。
您可以解决此问题,例如通过使用带过滤的动态变量:
<dynamicvariables>
<variable name="plugin.dir.parsed" value="${plugin.dir}">
<filters>
<regex regexp="[/\]+" replace="/" global="true" />
</filters>
</variable>
</dynamicvariables>
我正在使用 izpack 安装程序来安装我在 Windows 中开发的应用程序。 我的应用程序根文件夹中将包含 space。 在配置 .properties 文件中有一个 属性 文件夹位置。
PluginFolder=${plugin.dir}
例如我的示例 windows-目录位置是 "C:\My Application Folder\Plugins Folder"
因为java无法读取属性 in file with only "\" in folder-path.
安装后需要替换为实际的文件夹路径,如下所示。
PluginFolder=C:\My Application Folder\Plugins Folder
or
PluginFolder=C:/My Application Folder/Plugins Folder
以上任何一项都适用于我的应用程序。
在 izpack 安装程序文件夹位置读取使用
<panel ...>
...
<field type="dir" align="left" variable="plugin.dir">
<spec txt="Plugin Directory :" size="25" set="${plugin.default.dir}" />
</field>
....
</panel>
并且配置文件中的属性是使用
设置的<parsable targetfile="$INSTALL_PATH/config/myapp.properties" type="javaprop">
<os family="windows" />
</parsable>
但是在 izpack 安装程序中使用 type="javaprop" 是在文件夹路径中附加“\”和 SPACE。我不需要,因为我的应用程序无法读取它。
PluginFolder=C:\My\ Application\ Folder\Plugins\ Folder
如果文件夹路径中没有 space 并且将所有“\”替换为“\”,则使用 type="java" 可以正常工作。但是文件夹路径中有 space,这很可能在 Windows 中,而且我的应用程序也需要它,但它不起作用。
实际上我不想将文件夹路径中的 "SPACE" 替换为“\SPACE”。
请大家帮我解决一下 izpack 安装程序中的这个问题。
您可以解决此问题,例如通过使用带过滤的动态变量:
<dynamicvariables>
<variable name="plugin.dir.parsed" value="${plugin.dir}">
<filters>
<regex regexp="[/\]+" replace="/" global="true" />
</filters>
</variable>
</dynamicvariables>