在Linux上的哪里放置.jar文件?

时间:2019-02-11 16:25:03

标签: java linux

我有一个针对Python服务的自定义构建库,该服务以systemd运行(因此对所有用户均可用,并在启动时启动)。该服务使用我的自定义构建的.jar文件。

我应该在哪里复制该库?

我认为/usr/share/java/是正确的文件夹。这是正确的吗?

1 个答案:

答案 0 :(得分:4)

如果您尝试遵循好的做法,并且该jar文件未随您的应用程序一起提供,则根据文件系统层次结构标准,这是正确的。 不过还有第二个问题。

1)您的服务是否通过标准包装系统安装以进行分发?

2)这个jar文件是您服务的组成部分,并且仅用于您的服务吗?

这将引导您说出类似的内容:它是共享的,因此应该放在这里。 如果您的服务未使用标准打包系统,则通常使用/ opt目录的子树,包括/ opt / your_app / lib,但这仅在您的应用程序也遵循该结构时才有用。污染。

如果您正在使用打包系统,那么一个不错的选择确实是/ usr / share / java /或/ usr / lib(如果从/ usr / bin或/ usr / sbin调用您的应用程序)。另一个不错的选择是在/ usr / local内部,只有您自己的这个应用是特定于主机的。

为简单起见,如果您手动安装应用程序而不使用.deb之类的东西,请在/ opt内使用应用程序结构,否则,您将需要评估该库的特性,是否共享,特定于您的库。是否托管。

/ usr / share / java /是Java应用程序的常见选择,但有时会被滥用。

在任何情况下,都不应使用/ opt或/ usr

之外的子树作为参数

所有这些,我几乎可以肯定,您正在寻找/ opt / your_app / lib,猜测您正在打包应用程序并自行安装,还猜测此jar仅对您的应用程序有用。