maven reference to [method] is ambiguous

现象描述

项目在idea中可以正常打包,部署到服务器执行mvn clean package命令报错,报错信息如图所示
在这里插入图片描述
翻译过来大体就是submit方法是个模棱两可的引用,在看一下这个方法的声明

 ThreadPoolUtils.getInstance().getThreadPoolExecutor().submit(()->{
            while (true){
                Card card = null;
                try {
                    card = CARD_QUEUE.take();
                    log.info("队列的长度:{},\n 队列中包含card:{}",CARD_QUEUE.size(),card);
                    cardService.handlerCard(card);
                } catch (Exception e) {
                    log.info("处理error-> card:{}",card);
                    e.printStackTrace();
                }
            }
        });

这里采用了匿名内部类的写法,new了一个Runnable,在线程池提交了一个任务,问题就出现在这个匿名内部类身上。

线程池的submit方法截图

在这里插入图片描述
在这里插入图片描述
以上是重载的submit方法,如果是匿名内部类,编译是不知道到底创建的哪个类的对象,所以就报错了

解决方式

在这里插入图片描述
明确是Runnable的实例对象

这里还有一个例子

发布了16 篇原创文章 · 获赞 14 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览