Netbeans Java高级映像不适用于Mac上Glassfish中的EJB模块,但会在EAR中显示

Netbeans Java高级映像不适用于Mac上Glassfish中的EJB模块,但会在EAR中显示,netbeans,glassfish,classpath,jai,jboss-weld,Netbeans,Glassfish,Classpath,Jai,Jboss Weld,我正在开发一个使用Geotools的应用程序,Geotools反过来使用Java Advanced imaging JAI API在Glassfish下运行。当我以EJB jar文件的形式从Netbeans运行应用程序时,由于CDI扫描期间发生ClassNotFoundException,它无法部署: com.google.common.collect.ComputationException: org.jboss.weld.resources.spi.ResourceLoadingExcept

我正在开发一个使用Geotools的应用程序,Geotools反过来使用Java Advanced imaging JAI API在Glassfish下运行。当我以EJB jar文件的形式从Netbeans运行应用程序时,由于CDI扫描期间发生ClassNotFoundException,它无法部署:

com.google.common.collect.ComputationException: org.jboss.weld.resources.spi.ResourceLoadingException: Error loading class org.autogena.skyserver.data.filetypes.SwathFile
    at com.google.common.collect.ComputingConcurrentHashMap.compute(ComputingConcurrentHashMap.java:218)
    ....
Caused by: org.jboss.weld.resources.spi.ResourceLoadingException: Error loading class org.autogena.skyserver.data.filetypes.SwathFile
    at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:189)
    .....
Caused by: java.lang.NoClassDefFoundError: javax/media/jai/PropertySource
at java.lang.ClassLoader.defineClass1(Native Method)
    ....
Caused by: java.lang.ClassNotFoundException: javax.media.jai.PropertySource
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
但是,如果我将EJB模块打包到一个EAR文件中,那么我不会得到上面的异常,它似乎可以加载

因为在Mac上,JAI核心类在系统扩展库中,我很困惑它怎么没有出现在类路径上

在类加载方面,ejbjar和EAR文件之间有什么区别吗?或者这在Glassfish/Weld中是个大问题吗

试想一下——glassfish是如何找到我的项目使用的库的——它们似乎没有打包到ejb jar文件中——netbeans是不是在做一些聪明的事情,但不知何故会歪斜

谢谢,
Josh

尝试在Glassfish上配置类路径,以便使用JAI库