Maven 2 Glassfish应用程序不使用maven库(gf客户端)

Maven 2 Glassfish应用程序不使用maven库(gf客户端),maven-2,glassfish,jms,jndi,Maven 2,Glassfish,Jms,Jndi,在学校作业中,我收到了一个使用JNDI和JMS与Glassfish(3开源版)的Netbeans项目。此应用程序使用的所有Glassfish库都由绝对路径引用,而所有其他库(在“lib”文件夹中)都由相对路径引用 由于我的小组使用的是版本控制系统,“lib”文件夹包含在存储库中。这很好,因为它是一个小项目。然而,Glassfish库是有问题的,因为我是Linux用户,其他人是Windows用户。我们通过让Netbeans处理库路径来解决这个问题 选择的解决方案“有效”,但不是最佳解决方案。我认为

在学校作业中,我收到了一个使用JNDI和JMS与Glassfish(3开源版)的Netbeans项目。此应用程序使用的所有Glassfish库都由绝对路径引用,而所有其他库(在“lib”文件夹中)都由相对路径引用

由于我的小组使用的是版本控制系统,“lib”文件夹包含在存储库中。这很好,因为它是一个小项目。然而,Glassfish库是有问题的,因为我是Linux用户,其他人是Windows用户。我们通过让Netbeans处理库路径来解决这个问题

选择的解决方案“有效”,但不是最佳解决方案。我认为Maven会是一个更好的解决方案

然而,“gf客户端”库给出了一些问题。每当我使用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客户端”库,但都没有成功。没有其他库会给我带来问题。

能够通过将此添加到我的pom.xml中来解决此问题:

<dependency>
    <groupId>org.glassfish.main.extras</groupId>
    <artifactId>glassfish-embedded-all</artifactId>
    <version>3.1.2</version>
</dependency>

org.glassfish.main.extras
玻璃鱼嵌入所有
3.1.2
gf客户机jar引用了其他jar中的类。它缺少的第一个类可能是
java.naming.factory.initial
。但是在修复这个问题之后,它仍然需要一些其他类。对我来说,最快的方法是添加嵌入所有依赖项的glassfish