我想要在项目中使用的库的 jar 文件最好保存在哪里,这些文件不在任何存储库中,我应该如何设置权限?
我应该把它们放在 /usr/share/java 中吗,还是最好把它们存储在我的主文件夹中的某个地方?
最有用的访问权限是什么?遵循 /usr/share/java 中的约定(使用包名称创建指向 jar 特定版本的符号链接)并遵循那里使用的权限是否有意义?
答案1
如果系统中的所有用户都不需要访问这些文件,您可以将它们放在主文件夹中,甚至更好的是放在主文件夹下的 bin 文件夹中(如果尚未创建,请创建一个)。这样,您就拥有了一个个人 bin 目录,可以从终端访问该目录,而无需指定文件扩展名或打开文件的程序。
例如,
my-app
将使终端使用适当的程序(在本例中为 Sun 的 Java 或 Openjdk)运行 my-app.any_possible_extension。如果您创建了 bin 文件夹,则需要注销并重新登录,以便系统识别新的 bin 文件夹。此外,个人 bin 文件夹中的文件必须已设置为可执行文件,否则终端将忽略该文件。
答案2
最好将“本地”更改置于分发区域之外。当您稍后需要升级时,您的更改不会被删除,升级也不会因为错误的文件而失败。您只需更改 CLASSPATH 环境变量以将 jar 文件包含在您的主目录中。
由于您指定了主目录,因此我假设这是一个个人项目,而不是要发布的项目。如果这是一个要发布的项目,那么在项目的发行版下应该有一个目录,可能名为“lib”;例如,/usr/local/xyzzy/lib/*.jar(用于项目“xyzzy”)。