2017-02-28 137 views
0

注意:is here的完整源代碼。如何將build.gradle導入IntelliJ

我使用的搖籃初始化插件來創建一個Scala庫:

gradle init --type scala-library 

然後我修改其build.gradle以產生用於搖籃2.13的包裝。然後我跑了:

gradle wrapper 

要生成包裝。然後最後我跑了:

./gradlew clean idea 

我在IntelliJ Community中打開了這個項目。我修改了Library.scala(即在搖籃初始化插件創建)含有明顯的Scala編譯器錯誤,但發現該錯誤是沒有出現在紅色下劃線:

enter image description here

我然後右鍵點擊src/main/scala目錄注意到沒有用於添加Scala源文件包的選項。或任何JVM(.java等),對於這個問題的文件:

enter image description here

我認爲無論是搖籃初始化插件是有缺陷的(對於scala-library類型至少)或搖籃IDEA插件是有缺陷的。無論哪種方式,我想我在我的一個IntelliJ項目文件中缺少一些東西:

  • IML;或
  • 知識產權;或
  • IWS

任何想法我可以改變,這樣的IntelliJ顯示編譯器錯誤,因此我可以添加新的Scala源文件?

+1

'gradle idea'已經過時,不推薦使用它,它不會生成正確的IDE項目文件。相反,只需在IDEA中導入'build.gradle'。 – CrazyCoder

+0

感謝@CrazyCoder(+1) - 你能做到這一點嗎(將'build.gradle'導入到現有的IntelliJ項目,或者我應該刪除項目(在IntelliJ; *不是*文件系統)並做一些不同的事情?此方法記錄在任何地方?再次感謝! – smeeb

+1

刪除所有生成的項目文件,然後導入'build.gradle'。 – CrazyCoder

回答

4

使用gradle idea命令生成IntelliJ IDEA項目文件不被推薦,它會創建遺留格式的項目文件,並且在大多數情況下項目將無法正常工作(它只適用於基本的Java項目)。

這種生成IntelliJ IDEA項目的方式已被棄用,您應該在IntelliJ IDEA中打開build.gradle文件(這與使用導入並指定構建文件位置相同)。

將Gradle項目模型映射到IntelliJ IDEA項目模型非常複雜,並且由JetBrains開發人員使用Gradle API維護和支持,而Gradle開發人員添加gradle idea並且不再進行主動維護。

+1

即使它會被棄用,這是沒有提及的,不在用戶指南上,而不在DSL文檔上,而不是在JavaDoc上,但它仍然是絕對需要的。簡單地導入'build.gradle'文件只適用於沒有額外要求的非常標準的項目。我們的項目在IDEA中將無法正常工作,只導入'build.gradle'(我知道它,我試過),並且您沒有機會自定義 – Vampire

+0

這個過程,例如定義提供的庫應該被導出,定義生成的源文件夾,添加爲SonarQube等插件添加配置,定義VCS設置,生成運行配置,生成代碼樣式設置,設置編碼選項,設置編譯器選項,設置版權選項,設置問題導航選項以及其他內容,只需命名爲「少數」。 – Vampire