我使用一个应该用作服务提供者(SPI)的外部jar文件 - 它包含目录META-INF / services以及它提供的服务信息。 然后我构建一个EAR并将此jar作为库添加到其中。在Glassfish上部署此EAR。 Glassfish加载这个jar,虽然是一个普通的jar - 而不是服务提供者。看起来它的dorectory META-INF / services只是被忽略了。 然后,如果我把这个jar放到Glassfish的domain / lib / ext目录中,作为外部依赖,它就会开始工作。可能是什么原因?