使用 InstallAnywhere 生成批处理文件而不是可执行文件
我正在使用 InstallAnywhere 为多个平台的 jar 创建可执行文件。因此,在任何地方安装都会生成 .sh(适用于 Unix)和 .exe(适用于 Windows)。
但对于 1 个 jar,我想为 Windows 创建批处理文件而不是 exe。我仍然想要 Unix 上的 .sh。
我找不到任何宽松的财产来实现这一目标。我该怎么做?
I am using InstallAnywhere to create executables for my jars for multiple platforms. So install anywhere generates .sh for Unix and .exe for Windows.
But for 1 jar, I want to create batch file instead of exe for Windows. I still want .sh for Unix.
I cannot find any lax property to achieve this. How can I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在InstallAnywhere 中无法做到这一点。 InstallAnywhere 希望在安装过程中创建本机执行目标。最接近的方法是创建一个仅限控制台的可执行文件。
但是,您可以编写自己的批处理文件并将其作为安装的一部分提供。如果您需要包含路径信息(或其他安装时信息),您可以添加 InstallAnywhere 变量(例如
$IA_CLASSPATH$
)并在安装时替换它们。使用“修改文本文件 - 单个文件”操作在安装时修改批处理文件(或其他文本文件)。
为了测试批处理文件,我们插入分配给脚本变量的位置参数。在开发过程中,我们手动提供位置参数。在安装时,我们将位置参数替换为 InstallAnywhere 中的值。
例如:
我们将“修改文本文件 - 单个文件”操作添加到我们的项目中。我们使用“搜索和替换字符串:”选项来替换位置参数。在此示例中,我们将 %1 和 %2 替换为安装期间收集的值,并将 %3 替换为
$USER_INSTALL_DIR$
。要替换任何 InstallAnywhere 变量(在本例中为$IA_CLASSPATH$
),请选中“替换文件中的 InstallAnywhere 变量”复选框。There's no way to do that in InstallAnywhere. InstallAnywhere wants to create native execution targets during the installation. The closest you can get is to create a console-only executable.
However, you can write your own batch files and ship them as part of the installation. If you need to include path information (or other install-time information), you can add InstallAnywhere variables like
$IA_CLASSPATH$
and replace them at installation time.Use the "Modify Text File - Single File" Action to modify your batch files (or other text files) at installation.
So that we can test our batch files, we insert positional arguments that get assigned to script variables. During development, we manually supply the positional arguments. At installation time, we replace the positional arguments with values from InstallAnywhere.
For instance:
We add the "Modify Text File - Single File" Action to our project. We use the "Search and replace strings: " option to replace the positional arguments. In this example, we'd replace %1 and %2 with values collected during the installation and replace %3 with
$USER_INSTALL_DIR$
. To replace any InstallAnywhere variables (in this case,$IA_CLASSPATH$
), check the "Substitute InstallAnywhere variables in file" checkbox.