在ruby项目中添加其他语言文件的最佳实践

在ruby项目中添加其他语言文件的最佳实践,ruby,jar,gem,Ruby,Jar,Gem,我有一个纯用ruby编写的ruby项目。现在我想包括一个java归档(jar)文件,它具有我的用户想要的一些功能。将文件放在其中一个目录中并作为gem捆绑是好的吗?是否存在与此相关的安全问题?任何建议都将不胜感激。答案是它取决于用例 如果这是一个用户纯粹为了自己的目的而使用的gem,并且它不是通过网络进行广播,那么安全问题就相当小了——它们更多地与系统安全相关 如果程序的一部分涉及绑定到端口并接受TCP/UDP连接,那么您必须真正开始考虑网络安全。另一个可能的问题是,如果您向非特权用户提供文件系

我有一个纯用ruby编写的ruby项目。现在我想包括一个java归档(jar)文件,它具有我的用户想要的一些功能。将文件放在其中一个目录中并作为gem捆绑是好的吗?是否存在与此相关的安全问题?任何建议都将不胜感激。

答案是它取决于用例

如果这是一个用户纯粹为了自己的目的而使用的gem,并且它不是通过网络进行广播,那么安全问题就相当小了——它们更多地与系统安全相关

如果程序的一部分涉及绑定到端口并接受TCP/UDP连接,那么您必须真正开始考虑网络安全。另一个可能的问题是,如果您向非特权用户提供文件系统访问权限(例如,如果这是rails gem,而JAR提供了操作文件系统的功能,并且出于某种原因,您正在将其传递给站点用户——这是一个有点愚蠢的示例,但我希望您了解我的意思)

然而,对于运行javajar文件来说,这并不是天生的不安全,除非特定JAR存在已知的安全缺陷


最后,这取决于gem的最终用户。弄清楚gem是做什么的,他们可以决定是否使用它。

您打算如何集成jar文件?您是否考虑过使用,它允许您与JavaAPI接口?这个jar文件与jenkins命令行接口相关。我不会将它与我的代码集成。我将通过指定“java-jar#{base_dir}/jenkins-cli.jar…”来输出命令行选项