1

我正在使用 InstallAnywhere 为多个平台的 jar 创建可执行文件。因此,随处安装会为 Unix 生成 .sh,为 Windows 生成 .exe。

但是对于 1 个 jar,我想为 Windows 创建批处理文件而不是 exe。我仍然想要 .sh 用于 Unix。

我找不到任何松懈的财产来实现这一目标。我怎样才能做到这一点?

4

1 回答 1

1

在 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 替换为安装期间收集的值,并将 %3 替换为$USER_INSTALL_DIR$. 要替换任何 InstallAnywhere 变量(在本例中为$IA_CLASSPATH$),请选中“替换文件中的 InstallAnywhere 变量”复选框。

于 2013-02-18T20:19:15.000 回答