![](/img/trans.png)
[英]IntelliJ Idea doesn't see dependency, which was added by Gradle
[英]Intellij IDEA doesn't see classes but building via Gradle works
我將 IntelliJ IDEA 2016.2.4 與 Gradle 一起使用。 當創建一個空項目並將一個簡單的類與測試類一起添加時,通過 Gradle 運行build
目標時項目構建良好,但 IntelliJ 沒有看到例如默認包含在依賴項中的 JUnit 的@Test
注釋。
將鼠標懸停在“缺少”的類上時,IntelliJ 允許我將 JUnit4 添加到類路徑。 這樣做之后,什么都沒有改變。
我嘗試使緩存無效並重新啟動 - 沒有成功。
在“外部庫”下,有“Gradle:junit:junit:4.11”,並且項目構建良好,所以我認為這是語法突出顯示和自動完成的問題。
我不確定這是否重要,但在build.gradle
中添加對 JUnit 的依賴的行( testCompile group: 'junit', name: 'junit', version: '4.11'
)用注釋突出顯示:
'testCompile' 不能應用於 '(['group':java.lang.String, 'name':java.lang.String,...])' 此檢查報告具有不兼容類型的賦值
它適用於我嘗試過的其他依賴項,即沒有這樣的警告。 但是 IntelliJ 仍然沒有看到它們的類。
這些是我使用 Gradle 的第一步,所以可能還沒有配置一些東西。 有誰知道可能有什么問題?
更簡潔的方法是使緩存無效/重新啟動。 您可以在“文件”菜單中找到此選項。
Intellij Idea 使用 iml 文件來解析類路徑。 很有可能它不正確。
將 IDEA 更新到 2020.3 版后,我遇到了同樣的問題。
IDEA 看到了 JDK 庫,而沒有看到外部庫。
解決方法:
File -> Invalidate Caches / Restart... -> Invalidate and Restart
您的項目設置將被保存,IDEA 將繼續查看所有外部庫。
在嘗試使用 Maven 並獲得相同的結果后,很明顯 Gradle 和 JUnit 都沒有問題。
刪除文件夾 ~/.IdeaIC2016.2 完成了這項工作。
如果 IDEA 無法識別單個類或幾個類,我所做的就是創建具有不同名稱的新類,在那里刪除缺少類的內容,刪除舊類並將新類重命名為所需的類。 這解決了這個問題。
示例:IDEA“丟失”類SomeEntity.java
:
MyAwesomeEntity.java
MyAwesomeEntity.java
的內容SomeEntity.java
到MyAwesomeEntity.java
SomeEntity.java
MyAwesomeEntity.java
重命名為SomeEntity.java
瞧
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.