一些开发人员创建了独立的java命令行程序。这些程序共享库,例如sql server jar。根据惯例放置这些共享外部jar文件的首选或标准位置是什么?
答案 0 :(得分:0)
该位置与标准化位置无关。另一个解决方案是使用像Maven这样的依赖关系管理系统,并将依赖关系打包到jar中。但是,如果您在多个项目中重复使用jar,这将是低效的,但它确实存在依赖关系并且不容易让某人使用更新的版本交换共享文件夹中的依赖项版本而破坏其他应用程序。
答案 1 :(得分:0)
Java提供了几种管理类和库加载的方法,但是根据操作系统查找一个位置并不符合保持Java平台独立性的要求。而是尝试根据how Java finds classes为项目定义公共位置。
此外,如果您从jars执行命令行应用程序,Maven有一些很好的插件来帮助bundle your java classes as an executable jar。它更清晰,并将库封装在各个应用程序的范围内。