繁体   English   中英

在Linux上自动化Inline :: Java安装(Centos / Redhat)

[英]Automating Inline::Java Installation on Linux (Centos/Redhat)

我正在维护一个运行自动安装基本服务器软件的perl脚本。 其中一个新要求是安装Inline :: Java模块。

我们通常使用Yum进行安装的策略似乎已经失败,因为没有可用的Inline :: Java。 我无法找到它的RPM版本,因此无法安装为RPM。 唯一的选择似乎是通过CPAN安装或运送tar并有一个标识SDK位置的步骤并运行'perl Makefile.PL J2SDK =; 使; make install'。

本能地说我认为对于自动安装来说有点不稳定,我在过去CPAN安装失败时遇到了问题,我真的不想在现场服务器上制作,但我想不出更好的选择。

我考虑的另一个选项就是发送.pm文件,将其放在用户定义的目录中,并使用'use lib'将其定义为一个位置,但由于Inline :: Java的工作方式,我不认为这是可能的,它也需要InlineJavaServer的位置等等。

有没有人有一个更好的解决方案或意见,上面提出的哪一个是最好的?

您可以构建自己的 perl-Inline-Java包并将其放在私有yum存储库中,甚至可以将其贡献给Fedora / EPEL。

Inline::Java将在与Inline/Java.pm文件相同的位置查找InlineJavaServer.jar及其所需的其他文件。 从一台机器上的安装目录复制整个发行版并将其复制到另一台机器(具有相同的架构)并不像听起来那么疯狂。 如果你只有几个不同的系统(不是所有的linux,32位vs 64位,perl 5.6 vs perl 5.10等),那么为每个系统制作一个单独的包是很容易的。

Inline::Java有一些安装时配置,包括指定要使用的默认Java安装。 但是这个(以及其他默认配置)总是可以用PERL_INLINE_JAVA_J2SDK等环境变量覆盖(有关完整列表,请参阅Inline :: Java perldoc )。 您可以使用自己的自定义模块打包Inline::Java ,例如, MyCompany::InlineJavaConfig ,它可以在每个脚本中加载Inline::Java模块之前设置适当的环境变量。

还有一些其他安装时配置,比如是否配置JNI和其他本机支持。 将支持这些功能的文件从一台机器复制到另一台机器可能有点儿干。 但我无法想到任何理由,因为它不起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM