Spring Boot-设置PERL5LIB

时间:2018-10-25 05:29:33

标签: java perl spring-boot unix

我们有一个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=....

但是这也不起作用。我在做什么错了?

1 个答案:

答案 0 :(得分:1)

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

共有3个选项:

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

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

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