对于学校作业,我收到了一个使用 JNDI 和 JMS 和 Glassfish(3 开源版本)的 Netbeans 项目。此应用程序使用的所有 Glassfish 库均由绝对路径引用,所有其他库(在“lib”文件夹中)均由相对路径引用。
由于我的小组正在使用版本控制系统,因此“lib”文件夹包含在存储库中。这很好用,因为它是一个小项目。然而,Glassfish 库是有问题的,因为我是 Linux 用户,而其他人是 Windows 用户。我们通过让 Netbeans 处理库路径来解决这个问题。
选择的解决方案“有效”,但不是最佳解决方案。我认为 Maven 会是一个更好的解决方案。
然而,“gf-client”库出现了问题。每当我使用 Maven“gf-client”时,应用程序都会抛出异常:
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
两个库都有“3.1.2”作为版本。库的结构看起来相同,两个 MANIFEST.MF 文件也是。然而,两个文件的大小和 md5sum 并不相等。
我已经尝试了所有可以在默认 Maven 存储库中找到的“gf-client”库,但没有一个有效。没有其他图书馆给我带来问题。