java: 未命名的模块同时从 io.netty.codec 和 io.netty.codec.xml 读取程序包 io.netty.handler.codec.xml

按照Netty官方的配置,在module-info.java添加模块

  • io.netty.all
  • io.netty.buffer
  • io.netty.codec
  • io.netty.codec.dns
  • io.netty.codec.haproxy
  • io.netty.codec.http
  • io.netty.codec.http2
  • io.netty.codec.memcache
  • io.netty.codec.mqtt
  • io.netty.codec.redis
  • io.netty.codec.smtp
  • io.netty.codec.socks
  • io.netty.codec.stomp
  • io.netty.codec.xml
  • io.netty.common
  • io.netty.handler
  • io.netty.handler.proxy
  • io.netty.resolver
  • io.netty.resolver.dns
  • io.netty.transport
  • io.netty.transport.epoll (native omitted - reserved keyword in Java)
  • io.netty.transport.kqueue (native omitted - reserved keyword in Java)
  • io.netty.transport.unix.common (native omitted - reserved keyword in Java)
  • io.netty.transport.rxtx
  • io.netty.transport.sctp
  • io.netty.transport.udt

但是当你运行,你会得到一个超红的报错java: 未命名的模块同时从 io.netty.codec 和 io.netty.codec.xml 读取程序包 io.netty.handler.codec.xml

module com.wuxianggujun.toolbox {
    requires javafx.controls;
    requires javafx.fxml;
    requires io.netty.all;
    requires io.netty.buffer;
    requires io.netty.codec;
    requires io.netty.codec.dns;
    requires io.netty.codec.haproxy;
    requires io.netty.codec.http;
    requires io.netty.codec.http2;
    requires io.netty.codec.memcache;
    requires io.netty.codec.mqtt;
    requires io.netty.codec.redis;
    requires io.netty.codec.smtp;
    requires io.netty.codec.socks;
    requires io.netty.codec.stomp;
    requires io.netty.codec.xml;
    requires io.netty.common;
    requires io.netty.handler;
    requires io.netty.handler.proxy;
    requires io.netty.resolver;
    requires io.netty.resolver.dns;
    requires io.netty.transport;
    //requires io.netty.transport.epoll; (native省略-Java 中的保留关键字)
    //requires io.netty.transport.kqueue; (native省略-Java 中的保留关键字)
    requires io.netty.transport.unix.common;// (native省略-Java 中的保留关键字)
    requires io.netty.transport.rxtx;
    requires io.netty.transport.sctp;
    requires io.netty.transport.udt;

    opens com.wuxianggujun.toolbox to javafx.fxml;
    exports com.wuxianggujun.toolbox;
    exports com.wuxianggujun.toolbox.net;
    exports com.wuxianggujun.toolbox.cache;
    opens com.wuxianggujun.toolbox.cache to javafx.fxml;
}

在这里插入图片描述

解决办法

根据报错,我们可以注释掉 //requires io.netty.codec;
或者将以下这些注释掉就可以了。

//    requires io.netty.codec.dns;
//    requires io.netty.codec.haproxy;
//    requires io.netty.codec.http;
//    requires io.netty.codec.http2;
//    requires io.netty.codec.memcache;
//    requires io.netty.codec.mqtt;
//    requires io.netty.codec.redis;
//    requires io.netty.codec.smtp;
//    requires io.netty.codec.socks;
//    requires io.netty.codec.stomp;
//    requires io.netty.codec.xml;
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐