我正在使用InstallAnywhere为多个平台的jar创建可执行文件。因此,install anywhere为Unix生成.sh,为Windows生成.exe。
但对于1个jar,我想创建批处理文件,而不是用于Windows的exe。我仍然想要Unix的.sh。
我找不到任何松懈的财产来实现这一点。我该怎么做?
在InstallAnywhere中无法做到这一点。InstallAnywhere希望在安装过程中创建本机执行目标。最接近的方法是创建一个仅限控制台执行的文件。
但是,您可以编写自己的批处理文件,并将其作为安装的一部分发送。如果需要包含路径信息(或其他安装时间信息),可以添加InstallAnywhere变量(如$IA_CLASSPATH$
),并在安装时替换它们。
使用"修改文本文件-单个文件"操作在安装时修改批处理文件(或其他文本文件)。
为了测试批处理文件,我们插入了分配给脚本变量的位置参数。在开发过程中,我们手动提供位置参数。在安装时,我们将位置参数替换为InstallAnywhere中的值。
例如:
@echo off
set APP_USER=%1
set APP_PASSWORD=%2
set APP_DIR=%3
set CLASSPATH=%CLASSPATH%;$IA_CLASSPATH$;./lib/myapp.jar
cd %APP_DIR%
java -cp %CLASSPATH% com.example.myapp.Main %APP_USER% %APP_PASSWORD%
我们将"修改文本文件-单个文件"操作添加到我们的项目中。我们使用"搜索并替换字符串:"选项来替换位置参数。在本例中,我们将用安装过程中收集的值替换%1和%2,并用$USER_INSTALL_DIR$
替换%3。要替换任何InstallAnywhere变量(在本例中为$IA_CLASSPATH$
),请选中"替换文件中的InstallAnywhere"复选框。