我有一個項目分支這裏顯示了我的問題:類路徑在搖籃中無法識別項目
https://github.com/testerstories/lucid-core/tree/feature/build-full-archive
具體來說,如果我跑gradle build
,那麼:lucid-junit:compileJava
任務運行時,我得到這樣一系列錯誤這對我只是在src/main/java/com/lucidtester/junit/runners
類(LucidRunner
):
package org.junit.runner.notification does not exist
import org.junit.runner.notification.RunNotifier;
package org.junit.runners does not exist
import org.junit.runners.BlockJUnit4ClassRunner;
^
package org.junit.runners.model does not exist
import org.junit.runners.model.FrameworkMethod;
^
package org.junit.runners.model does not exist
import org.junit.runners.model.InitializationError;
這似乎暗示JUnit是不被認可。但在IntelliJ中,我已將JUnit添加到類路徑中,編輯器當然能夠自動完成JUnit的各個方面。此外,在Project Explorer下的External Libraries樹中,我看到JUnit4被列爲一個庫。
同樣的事情發生,如果我限制了構建以特定的模塊,運行以下命令:
gradle :lucid-junit:build
在這一點上,我完全不知道是什麼問題。我只有一個最小類,我的構建文件(在模塊中)正在放入正確的依賴項(對於junit)。此外,我在主文件build.gradle
中使用subprojects
。
我不知道還有什麼要檢查在這一點上。 IDE中沒有顯示錯誤。我的Gradle構建文件中沒有任何內容似乎會產生錯誤。但是看起來關於構建生命週期如何執行的東西並不能識別我的類路徑。
UPDATE
找到一些有趣的事情。如果我更改我的構建文件,IntelliJ會刷新所有內容。然後我發現我的外部庫不再顯示JUnit4。然後,LucidRunner.java文件突然間出現一系列關於JUnit的錯誤。
所以我選擇+輸入並選擇「添加JUnit4到類路徑」。
將JUnit4添加回外部庫,我的錯誤消失。
但gradle build
命令仍顯示相同的錯誤。如果我再次更改構建文件,相同的情況。
我已經嘗試了什麼似乎是IntelliJ的「重新啓動」答案:無效緩存並重新啓動,但沒有任何效果。
系統(在IDE之外)是否有正確的類路徑集? – user356540