在我的maven項目中,我正在將我的Java代碼與一些Groovy代碼混合使用。我現在主要使用Groovy來構建bean。我的一些Java代碼直接使用Groovy bean。配置IntelliJ以使用Groovy編譯器而不是Java編譯器
我配置了Maven的編譯器插件是這樣的: -
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>2.8.0-01</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-batch</artifactId>
<version>2.1.5-03</version>
</dependency>
</dependencies>
</plugin>
當我運行使用mvn test
我的測試用例,它工作得很好。
但是,當我通過右鍵單擊測試文件並運行它直接從IntelliJ運行測試用例時,Groovy bean上出現「無法找到符號」錯誤。當我讀取錯誤日誌時,IntelliJ使用Java編譯器在運行測試之前編譯我的項目...因此,測試失敗。
我似乎無法弄清楚如何指示IntelliJ始終使用Groovy編譯器而不是Java編譯器。
我應該在SDK下更改什麼,以便使用Groovy編譯器?我嘗試添加Groovy相關的JAR文件,但是我收到了其他錯誤。
更新1:每@Seagull建議
我補充下, 「全球圖書館」 常規JAR文件: -
當我直接從執行的測試文件IntelliJ,我得到了一些Groovy警告,我仍然得到相同的錯誤: -
謝謝。
您是否對您的項目有Groovy Framework支持?嘗試添加它,方法是右鍵單擊項目視圖中的項目根文件夾,然後選擇一個現有的文件夾,或者創建一個新的Groovy sdk。此外,它還會在模塊依賴項中添加Groovy庫。 – Seagull
我沒有選擇這樣做。我在「項目」設置下進入「Project SDK」,當我添加新的「JDK」並將其指向我下載的Groovy SDK時,它不會檢測到任何內容。 – limc
Groovy沒有獨立的SDK,將在那裏列出。嘗試創建一個普通的「全局庫」,它的圖標將更改爲Groovy圖標。將它添加到你的模塊,它可能會工作。 – Seagull