2017-03-07 39 views
1

我使用Install4J 6.1.5,我试图修改使用手动构造vmoptions文件和记录略有-classpath/A vmoptions文件指示类路径vmoptions文件。添加类路径install4j有一个环境变量

看来,-classpath/a和-classpath/P选项不支持使用环境变量路径在其中,至少在linux发射。当我包括:

-classpath /opt/bids/ssheena-server/.install4j/i4jruntime.jar:${HOME}/.ssheena-server/resources 

-classpath/a ${HOME}/.ssheena-server/resources 

要将vmoptions文件,当我在看的java程序用ps -ef的$ {HOME}出现在其-classpath参数在发射不变的形式

有没有办法使用-classpath/a来支持使用环境变量?

回答

0

作为install4j 6.1.5的,不支持在.vmoptions文件类路径修改环境变量替换。

您可以修改.vmoptions文件,在安装程序的操作。例如,你可以使用安装程序变量语法

${installer:sys.userHome} 

在.vmoptions文件,并使用行动“在文本文件替换安装程序变量”在运行时将其替换。

+0

Hi Ingo!感谢你的及时回复。在这种情况下,我正在使用在部署RPM期间手动构建的vmoptions文件,该文件对安装程序运行时操作的访问权限有限。另外,对于列出的例子,我真的希望类路径反映**调用者的** $ HOME目录,这将随用户调用启动器而变化。 –

+0

好的,我明白了。不幸的是,替换从文件中读取的字符串中的环境变量定义对于POSIX Bourne shell来说非常困难。在RPM媒体文件向导中,您可以使用“安装程序选项 - >安装后脚本”步骤来编写或修改.vmoptions文件的绝对路径。 –

+0

这是行不通的 - $ HOME变量是每个用户 - 不知何故,RPM文件必须为其安装的机器上的每个用户创建或修改vmoptions文件。显然,有一种用例将每个用户的资源添加到由启动器汇编的类路径中,而这些资源目前尚未由您提供的任何工作处理。在POSIX启动程序代码中,您可以对生成的启动路径执行回声:'echo -classpath $ local_classpath'以实现所需的效果,对吧? –

相关问题