2014-05-23 17 views
2

在由sbt驅動的給定項目中,項目庫中存在某種特定於用於kafka-spark-9.7.2.jar的MavenLocal存儲庫的損壞,其中:Intellij無法解析對特定jar文件的引用

  • 由該罐子提供的類引用標記爲編輯解析器
  • 「找不到符號」,然而編輯器(奇怪)不提供導入類
  • 但接受導入後,符號是仍然標記爲紅色未解決。

enter image description here

下嘗試 「乾淨的東西了」 已執行:

  • 建設|製作項目
  • 構建|重建項目

此外,我已經驗證在命令行上從

sbt package 

確實構建

UPDATE後的項目重新運行SBT GEN-想法librraries是仍然沒有被解析器找到。但圖書館存在 - 即使IJ知道他們,如下面的截圖所示。爲什麼說IJ可以找到庫

C:\Users\S80035683\.ivy2\cache\org.apache.kafka\kafka\jars\kafka-0.7.2-spark.jar!\kafka\api\FetchRequest.class 

然而IJ無法從解析器庫解決任何類?

enter image description here

回答

2

你必須建立的IntelliJ項目,嘗試做這個項目中的根:

sbt idea with-sources=yes 

這應該從頭開始構建項目結構,並添加正確的依賴關係,平時我在添加依賴項或jar後刷新項目。

編輯: 要使用該命令,你需要這個plugin,否則你可以使用gen-idea,但我只用了幾次,我不知道它會如何工作。

EDIT2:

有一些困​​惑,首先,你不需要預先考慮SBT命令IDEA SBT控制檯,因爲你已經在裏面SBT:

enter image description here

如果您有想法,你可以使用gen-idea with-source=yes(不預先考慮SBT)的SBT插件

enter image description here

從終端,無論你去到你的項目根目錄,鍵入sbt進入SBT控制檯和使用gen-ideaidea with-sources=yes(不預先考慮SBT)

enter image description here

,或者直接sbt gen-idea,或者如果你有插件sbt idea with-sources=yes (前面加SBT)

enter image description here

往內心想法的SBT控制檯需要安裝喜好的SBT插件 - > PLU杜松子酒和搜索SBT,然後查看 - >工具窗口 - > SBT控制檯:

enter image description here

要開始播放按鈕控制檯點擊,殺頭骨上的控制檯。

+0

啊是的,我已經讀過(多次..德哦!),它需要重建這種方式。有趣的事情,但我已經添加了幾十次依賴關係,而不必做這個手冊(cmd行)重建。我不知道在這種情況下有什麼不同。也許本地maven回購? – javadba

+0

AFA「with-sources = yes?」 :我需要「盡最大努力但不失敗」。問號是否實現了這個目標?消息來源不可用......你猜對了..卡夫卡。 – javadba

+0

對不起,quesiton標記是一個錯誤。 –

0

我有同樣的問題。我通過直接編寫問題庫的CLASSESSOURCES來修復它。這可以在.idea/libraries/SBT__<problematic library>_jar.xml

相關問題