一些开发人员已经创建了独立的Java命令行程序。这些程序共享库,例如 sql 服务器 jar。根据惯例,这些共享的外部jar文件放置的首选或标准位置是什么?
/- usr/local/lib
- /选择 /
- var/lib
位置并不像标准化位置那么重要。另一种解决方案是使用像Maven这样的依赖管理系统,并将依赖关系打包到jar中。但是,如果您在多个项目中重用 jar,这将效率低下,但它确实可以确保依赖项存在,并且不容易受到有人将共享文件夹中的依赖项版本与破坏其他应用程序的较新版本交换
。Java提供了几种方法来管理类和库加载,但基于操作系统寻找一个位置并不符合保持 Java 平台独立性。相反,请尝试根据 Java 查找类的方式为项目定义一个公共位置。
此外,如果您从 jar 执行命令行应用程序,Maven 有一些不错的插件来帮助将您的 java 类捆绑为可执行 jar。它更简洁,并将库封装在各个应用程序的范围内。