RESTEasy不会引导/初始化

时间:2019-07-18 09:32:00

标签: java rest wildfly resteasy

我正在尝试使用WildFly的JAX-RS-RESTEasy实现来创建一些基于Java的Restful Web服务,并且在部署后立即启动就遇到了一些麻烦。

请注意,我正在将RESTEasy批注添加到已作为.ear文件部署的已经工作的项目中的一组类上,这应该可以吗?为了清楚起见,程序包的结构类似于:

com.something.app
com.something.app.resteasyannotatedclasses

现在,我不再使用web.xml或任何xml conf,而仅使用here中记载的注释

我只有两个类,即RESTEasy Activator:

@ApplicationPath("/coordinates")
public class RestEasyActivator extends Application {
    RestEasyActivator () {
        Logger.getAnonymousLogger().warning("RestEasyActivator Initialised Rest Easy.");
    }
}

实际服务:

@Path("get")
public class CoordinatesServiceWrapper {
    private static final Logger LOG = Logger.getLogger(CoordinatesServiceWrapper.class.getName());

    @GET
    @Path("getByName")
    public String findCoordinates(){
        LOG.info("Called coordinates service!");
        return "Hi";
    }
}

将耳朵部署到WildFly后,我会看到日志:

  

WARN [org.jboss.weld.Bootstrap](焊接线程池-4)WELD-000167:类org.jboss.resteasy.core.AsynchronousDispatcher用@RequestScoped注释,但未声明适当的构造函数,因此是没有注册为bean!

     

WARN [org.jboss.weld.Bootstrap](焊接线程池-1)WELD-000167:org.jboss.resteasy.plugins.providers.DocumentProvider类使用@ApplicationScoped进行了注释,但未声明适当的构造函数因此未注册为bean!

     

信息[org.wildfly.extension.undertow](ServerService线程池-391)WFLYUT0021:注册的Web上下文:服务器“默认服务器”的“ / CoordinateSearch”

     

INFO [org.jboss.as.server](DeploymentScanner线程-2)WFLYSRV0010:部署了“ CoordinateSearch.ear”(运行时名称:“ CoordinateSearch.ear”)

我猜想与RESTEasy有关的警告可以忽略,并且信息消息显示.ear已成功部署。

要调用Web服务,我尝试了URL:

  

Server:port / CoordinateSearch / coordinates / get / getByName /和   服务器:端口/坐标/ get / getByName /

两者都不生成任何日志条目。

我想念的是什么... 我错过了一些会议吗? -似乎很小。基于RESTEasy文档here,WildFly随RESTEasy一起导入,它将基于包含注释的任何类进行引导……所以我看不到问题。

1 个答案:

答案 0 :(得分:0)

回答here,通常应将JAX-RS打包在.war文件中。