我们有一个Spring Boot应用程序,它调用一个perl脚本。似乎未在应用程序上下文中设置系统变量PERL5LIB,因为perl脚本编译失败:

Can't locate JSON.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ...


(当我直接在shell中运行脚本时,它可以工作-因为PERL5LIB的设置正确。)
我尝试将其添加到application.properties:

PERL5LIB=....


但这也不起作用。我究竟做错了什么?

最佳答案

我不知道spring-boot,但似乎application.properties不适合修改环境变量。

有3个选项:


在应用程序启动之前全局设置PERL5LIB(shell和WM可以具有不同的环境变量)
调用脚本时设置PERL5LIB
使用shell脚本设置PERL5LIB并调用perl脚本,从spring调用该shell脚本


前两个选项取决于您运行spring应用程序的方式以及用于调用外部脚本的代码。第三个应该工作。

如果没有帮助,请从您的应用中添加调用外部脚本的代码。

关于java - Spring Boot-设置PERL5LIB,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52981901/

10-10 02:04