我对java很陌生,对设置类路径有一些疑问。在这个论坛上提问之前,我已经完成了我的家庭作业。尝试谷歌搜索并参考其他论坛,但没有找到我要搜索的内容。
所以,就这样吧。
- 我正在开发一个需要外部 jar 才能正常运行的 Java 应用程序。
- 当且仅当系统中安装了自定义应用程序“XYZ”时,这些外部 jar 才可用。
- 由于许可问题,我不想在我的应用程序中打包 XYZ 应用程序 jar。
- 我的应用程序所做的是 - 检查应用程序 XYZ 是否存在于目标主机中,如果可用则运行。否则会记录一个错误,说明运行程序需要 XYZ 并退出。
现在是主要部分......
- XYZ 应用程序可用于各种平台 - Linux / Windows / Solaris / 等。
- XYZ 可以在安装过程中自定义安装到自定义目录。比如说 - D:/XYZ,或 Windows 中的 D:/apps/XYZ,Linux 中的 /apps/XYZ 或 /apps/admin/XYZ,solaris 等。
- 安装 XYZ 应用程序后,jar 文件将出现在安装 XYZ 的目录 /jars 中。例如 - *nix 中的 D:/XYZ/jars、/apps/XYZ/jars。
- 当应用程序 XYZ 安装在任何平台上时,会创建一个新的环境变量 XYZ_LIB_PATH 并指向存在 jar 的相应文件夹 - 例如,当应用程序 XYZ 安装到 D 时,会创建 XYZ_LIB_PATH=D:/XYZ/jars: /XYZ。同样,如果应用程序 XYZ 安装在 linux 机器中,则会创建 XYZ_LIB_PATH=/apps/XYZ/jars。
现在我想做的是..
我想将我的应用程序引用到环境变量 - XYZ_LIB_PATH 并获取平台的 XYZ_LIB_PATH 环境变量指向的目录中存在的所有 jar 文件。通过这样做,我不必担心在安装我的应用程序时在每台机器中查找 jar 文件。它可以只查看 XYZ_LIB_PATH 变量指向的目录,并通过加载所需的 jars 继续运行。
这背后的原因是 - 由于应用程序 XYZ 是可定制的,每个用户可能已经将它安装在不同的目录中,我的应用程序需要找出 XYZ 的安装位置。相反,如果我使用环境变量,我可以通过查看为 XYZ_LIB_PATH 变量设置的路径轻松地为我的应用程序获取所需的 jar。用户无法更改环境变量,因此该变量在所有平台上保持不变,我可以获得 jar 的有效路径。
有没有办法在java中完成这个?
谢谢, 维奈小号