我有一個非常奇怪的問題,它很簡單,但我不明白問題是什么。
我有一個類,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);
}
}
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
B 類與 A 類在不同的模塊中,因此 B 類作為依賴項在 ClassA 的 pom.xml 中
我正在使用 jdk 1.8.0_212 和 maven 版本 3.6.3
ClassB 的模塊構建完全沒有問題。在 ClassA 的模塊中運行時發生錯誤mvn clean install我嘗試在 intellij 中使快取無效
有人可以幫我理解這里的問題嗎?
uj5u.com熱心網友回復:
您的 Maven 找到一些舊版本的模塊,其中包含已編譯的 classB,因此它不會重建該模塊。嘗試在您的 inteliJ 中清除您的目標目錄,并查看您的 m2 本地存盤庫中是否存在該模塊。如果它在那里洗掉它。它將強制在您構建 classA 模塊時重建 classB 模塊。如果可以的話,您可能還想手動運行 classB 模塊的構建。
uj5u.com熱心網友回復:
嘗試mvn install包含 ClassB 的模塊
注意:添加此答案是因為我無法將評論添加為新貢獻者。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/435063.html
