2012-05-22 203 views
1

几天回来,我遇到了我这里张贴新泽西URISchemeScanner

Jersey Resource .class loading

我们能够通过扩展javax.ws.rs.core.Application使用替代的部署机制和泽西部署问题暂时解决。但在研究更多时,我遇到了可以在我们的代码中实施的泽西扫描仪。这可以在我们的项目部署结构中查找特定的JAR。我正在查找网页,但找不到任何有关如何将URISchemeScanner集成到我们的代码中的具体示例。 (web.xml配置等)欣赏如果我能在正确的方向

+0

您运行的是什么版本的websphere? – Krrose27

+0

我们使用WAS 6.1 – Noosphere

回答

1

从PackagesNamesScanner Javadoc中指出:

“进一步方案可以通过在META-INF注册UriSchemeScanner的实施方案中注册/ services文件,其名称是UriSchemeScanner的完全限定类名称。“

参见:http://jersey.java.net/nonav/apidocs/1.12/jersey/com/sun/jersey/core/spi/scanning/PackageNamesScanner.html

+0

Thx作为您的回复。我创建了一个META-INF/services/com.sun.jersey.core.spi.scanning.uri.UriSchemeScanner,并在该文件中包含我的实现类(blah.blah.OurScanner)完全限定名。此外,实现代码的getScheme()现在有一个wsjar注册,它是WAS 6.1特有的。仍然是扫描不起作用。我错过了什么? – Noosphere

+0

我在我的JAR中添加了META-INF/services条目,其中包含资源,以及jersey-core.jar。但仍然没有运气。运行到“ResourceConfig实例不包含任何根资源类。” – Noosphere

+0

不确定。你正在使用PackagesResourceConfig(http://jersey.java.net/nonav/apidocs/1.12/jersey/com/sun/jersey/api/core/PackagesResourceConfig.html),对吗?由于某些类加载器的限制,甚至发现META-INF/services文件可能存在问题,但我将无法帮助那些...... –

0

我也具有为7的问题,我们所做的是从web.xml中删除扫描初始参数本身并复制它包含在WEB-INF库资源的Jar Web项目的文件夹。然后它会工作。单独在耳朵中添加J2EE依赖项不会起作用。

我用的球衣,但1.12的默认扫描仪仍然有问题

你能分享你这样做了,我也可以与尝试自定义扫描修改?

+0

我们向自定义扫描器代码注册了wsjar方案,并尝试进行整合。但自动扫描仍然无法查找Jersey Resources。目前我们通过创建手动部署注册表来扩展javax.ws.rs.core.Application。 – Noosphere