小编use*_*105的帖子

Jersey 2.1 + JBoss 7.1 NoSuchMethodError:getProperties

我正在尝试在JBoss 7.1 AS上运行Jersey 2.1 REST服务.我在部署期间收到NoSuchMethodError:javax.ws.rs.core.Application.getProperties错误:

ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/RESTService]] (MSC service thread 1-9) StandardWrapper.Throwable: java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map;
at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:271) [jersey-server-2.1.jar:]
at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:283) [jersey-container-servlet-core-2.1.jar:]
Run Code Online (Sandbox Code Playgroud)

在pom.xml中我有:

<dependency>
    <groupId>org.glassfish.jersey.containers</groupId>
    <artifactId>jersey-container-servlet</artifactId>
    <version>2.1</version>
</dependency>
<dependency>
    <groupId>org.glassfish.jersey.core</groupId>
    <artifactId>jersey-client</artifactId>
    <version>2.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

并在web.xml中:

<servlet>
    <servlet-name>RESTService</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>javax.ws.rs.Application</param-name>
        <param-value>com.gatekeeper.restservice.RESTApplication</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
Run Code Online (Sandbox Code Playgroud)

以前我尝试使用Jersey 1.17.1并且它有效(在JBoss中禁用resteasy扫描和jaxrs扩展/子系统之后).到目前为止,我已经找到了一个类似的帖子(但是使用了Tomcat),其中的结论是错误的javax.ws.rs.core.Application在运行时绑定,并且绑定类是一个"旧"(JAX- RS 1.1)版本.

任何帮助如何解决这个问题?我是.net的家伙,我在java中完全失明了:)感谢Bartek

jboss jax-rs jersey jboss7.x jersey-2.0

6
推荐指数
1
解决办法
7389
查看次数

SimpleInjector RegisterDecorator方法的Ninject等效项

我在Simple Injector IoC容器中有以下代码:

container.RegisterDecorator(typeof(ICommandHandler<>),
    typeof(ValidationCommandHandlerDecorator<>));
Run Code Online (Sandbox Code Playgroud)

我需要把它翻译成Ninject等价物.我已经读过Ninject中的Decorator模式是通过这个WhenInjectedInto方法完成的,但整个biding需要像这里的3个参数:

Bind<IRepository>().To<SimpleRepository>
    .WhenInjectedInto<AdvancedRespository>();
Run Code Online (Sandbox Code Playgroud)

Simple Injector中的这个方法只需要2,所以你能告诉我,我在这里缺少什么吗?

c# ninject simple-injector

5
推荐指数
1
解决办法
639
查看次数

标签 统计

c# ×1

jax-rs ×1

jboss ×1

jboss7.x ×1

jersey ×1

jersey-2.0 ×1

ninject ×1

simple-injector ×1