使用launch4j时如何获取可执行文件的路径?

9 java launch4j

我正在使用launch4j在我的Windows应用程序中包装一个可执行jar文件,但是我需要通过JVM参数传递对它的一些库的引用.有问题的库驻留在应用程序安装目录中,并且始终位于相对于可执行文件的相同位置.

我想告诉launch4j在JVM选项中使用可执行相对路径.我知道这些信息可以在Windows批处理脚本级别获得,但是如何配置launch4j来获取它?

编辑以澄清:我正在寻找如何使路径相对于二进制本身,而不是如何使它们相对于当前工作目录.两者不一定相同.

wal*_*uss 12

您可以添加到launch4j配置中

...
<jre>
...
<opt>-Djna.library.path="%EXEDIR%\\path\\to\\lib"</opt>
<opt>-Djava.library.path="%EXEDIR%\\path\\to\\lib"</opt>
...
</jre>
...
Run Code Online (Sandbox Code Playgroud)

如果你需要更多,那么你可以像往常一样用semikolon分隔几条路径.

<opt>可选,接受您通常传递给java/javaw启动器的所有内容:断言选项,系统属性和X选项.在这里,您可以将环境和特殊变量EXEDIR(exe的运行时目录),EXEFILE(exe的运行时完整文件路径)映射到系统属性.所有变量引用必须用百分号和引号括起来.

资料来源:http://launch4j.sourceforge.net/docs.html