You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wildfly12+Java10报WFLYRS0015错误,JDK8运行正常求解决

解决Wildfly 12 + Java 10下JAX-RS应用的WFLYRS0015错误

这个问题我之前帮朋友排查过类似的,本质是JDK9+引入的模块系统(JPMS)和Wildfly 12内置的RESTEasy(JAX-RS实现)自动扫描逻辑不兼容导致的——JDK8没有模块系统,扫描逻辑能正常识别你的JAX-RS应用,但JDK9/10下就失效了,所以才会抛出WFLYRS0015: No Servlet declaration found for JAX-RS application错误。

下面给你几个靠谱的解决方案,按优先级排序:

1. 显式声明Application子类(最稳妥,跨JDK版本通用)

直接写一个继承javax.ws.rs.core.Application的类,明确告诉Wildfly你的JAX-RS应用范围,绕过自动扫描的坑。示例代码如下:

import javax.ws.rs.core.Application;
import java.util.HashSet;
import java.util.Set;

public class BlogApplication extends Application {
    @Override
    public Set<Class<?>> getClasses() {
        Set<Class<?>> endpointClasses = new HashSet<>();
        // 把你的所有JAX-RS端点类添加进来,比如你的GET端点类BlogResource
        endpointClasses.add(BlogResource.class);
        return endpointClasses;
    }
}

把这个类放在你的应用源码里,Wildfly启动时会自动识别它,不管是JDK8还是JDK10都能正常运行。

2. 修改web.xml配置,手动声明JAX-RS Servlet

如果你不想额外写Application子类,可以直接在web.xml里显式配置RESTEasy的Servlet,指定请求路径。示例配置:

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    
    <servlet>
        <servlet-name>JAX-RS Application</servlet-name>
        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>JAX-RS Application</servlet-name>
        <url-pattern>/api/*</url-pattern> <!-- 替换成你的实际端点路径 -->
    </servlet-mapping>
</web-app>

这个配置相当于直接告诉Wildfly:用RESTEasy的Servlet来处理所有匹配路径的请求,不需要自动扫描应用类。

3. 针对模块化应用的补充配置(如果用了JPMS)

如果你的应用是基于JDK模块系统开发的(有module-info.java),需要确保模块声明里导出端点所在的包,并且依赖JAX-RS的API模块:

module blogservice {
    exports com.yourpackage.blog.resources; // 替换成你的端点类所在包
    requires javax.ws.rs.api;
}

不过Wildfly12对JPMS的支持不算特别完善,所以优先推荐前两种方案。

内容的提问来源于stack exchange,提问作者Pablo Bastidas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:05:33