函数需要两个参数,但定义只包含一个参数
Function expects two parameters, but definition only contains one parameter
我有一个很奇怪的问题,它很简单,但我不明白问题是什么。
我有一个 class,ClassA 调用 ClassB 中的函数,例如 ->
ClassA {
private transient MessageHelper MessageHelper
private transient ClassB classB;
private boolean messageNotification(Param1 firstParam, Param2 secondParam)
{
...messageBean = messageHelper.getAMessageBean(firstParam, secondParam)...
...
classB.sendMessage(messageBean);
}
}
Class A是在我的applicationContext.xml中定义的一个bean,比如>>
<bean id="classa" class="path.to.ClassA">
<property name="messageHelper" ref="messageHelper"/>
<property name="classB" ref="classB"/>
</bean>
ClassB 中的函数定义类似于 >>
public boolean sendMessage(MessageBean bean) throws MessageException { ... }
IntelliJ 没有指出任何语法问题,一切看起来都很正常...但是,当我尝试编译时,我从 Maven 得到了一个异常 >>
ClassA.java:[292,27] method sendMessage in class MessageSender cannot be applied to given types;
required: MessageBean,boolean
found: MessageBean
reason: actual and formal argument lists differ in length
Class B 与 Class A 在不同的模块中,因此 class B 在 ClassA 的 pom.xml 中作为依赖项
我正在使用 jdk 1.8.0_212 和 maven 版本 3.6.3
ClassB 的模块构建完全没有问题。
运行 mvn clean install
在 ClassA 的模块中发生错误
我试过在 intellij
中使缓存无效
谁能帮我理解这里的问题是什么?
在包含 ClassB
的模块上尝试 mvn install
注意:添加此答案是因为我无法作为新贡献者添加评论。
您的 Maven 发现一些包含 classB 的旧版本模块已经编译,因此它不会重建该模块。尝试在您的 inteliJ 中清除您的目标目录,并查看您的 m2 本地存储库中是否存在该模块。如果它在那里删除它。它将强制在构建 classA 模块时重建 classB 模块。如果可以的话,您可能还想 运行 手动构建 classB 模块。
我有一个很奇怪的问题,它很简单,但我不明白问题是什么。
我有一个 class,ClassA 调用 ClassB 中的函数,例如 ->
ClassA {
private transient MessageHelper MessageHelper
private transient ClassB classB;
private boolean messageNotification(Param1 firstParam, Param2 secondParam)
{
...messageBean = messageHelper.getAMessageBean(firstParam, secondParam)...
...
classB.sendMessage(messageBean);
}
}
Class A是在我的applicationContext.xml中定义的一个bean,比如>>
<bean id="classa" class="path.to.ClassA">
<property name="messageHelper" ref="messageHelper"/>
<property name="classB" ref="classB"/>
</bean>
ClassB 中的函数定义类似于 >>
public boolean sendMessage(MessageBean bean) throws MessageException { ... }
IntelliJ 没有指出任何语法问题,一切看起来都很正常...但是,当我尝试编译时,我从 Maven 得到了一个异常 >>
ClassA.java:[292,27] method sendMessage in class MessageSender cannot be applied to given types;
required: MessageBean,boolean
found: MessageBean
reason: actual and formal argument lists differ in length
Class B 与 Class A 在不同的模块中,因此 class B 在 ClassA 的 pom.xml 中作为依赖项
我正在使用 jdk 1.8.0_212 和 maven 版本 3.6.3
ClassB 的模块构建完全没有问题。
运行 mvn clean install
在 ClassA 的模块中发生错误
我试过在 intellij
谁能帮我理解这里的问题是什么?
在包含 ClassB
的模块上尝试mvn install
注意:添加此答案是因为我无法作为新贡献者添加评论。
您的 Maven 发现一些包含 classB 的旧版本模块已经编译,因此它不会重建该模块。尝试在您的 inteliJ 中清除您的目标目录,并查看您的 m2 本地存储库中是否存在该模块。如果它在那里删除它。它将强制在构建 classA 模块时重建 classB 模块。如果可以的话,您可能还想 运行 手动构建 classB 模块。