[英]Correct way to set up a Maven POM to compile mixed Java/Groovy code in Intellij IDEA
我在Intellij IDEA中有一個非常簡單的測試項目,在該項目中我嘗試將Java 9和Groovy代碼混合在一起。 另外,該項目具有Maven支持 ,即根據Maven原型進行組織並具有POM。
現在,我在默認包中有兩個類可以互相調用(盡管不會周期性地編譯失敗),並且都運行良好,即Build> Build Project和Run> Run'Main'正在運行。
但是,此編譯似乎獨立於Maven配置。 POM不支持Groovy。 如果我只是使用mvn compile
從命令行進行mvn compile
編譯將失敗,因為鏈接器無法找到Groovy編譯會導致的任何對象。
POM僅包含用於maven-compiler-plugin
,我手動添加了將configuration
下的source
節點和target
節點設置為1.9
以使IDEA從Java 9編譯到Java 9,而不是從Java 5編譯到IDEA。因此存在一些交互選擇Rebuild Project
時,在POM中的內容和IDEA的內容之間。
什么是配置IDEA和/或配置POM的正確方法,以便在IDEA和命令行中都可以成功進行編譯。 而且,如果有人知道,POM和IDEA之間的交互作用是什么?
我必須在POM中配置Groovy Eclipse Maven插件嗎? (我會盡力做到這一點)
這就是我為Java 8和Eclipse工作的項目,同時具有Java和Groovy代碼。 我知道我曾經通過Google找到了這個基礎,但是沒有保存URL,可惜。 不確定是否可以與Java 9和IntelliJ一起使用,但是值得一試嗎?
<properties>
<groovy.eclipse.compiler.plugin.version>2.9.1-01</groovy.eclipse.compiler.plugin.version>
</properties>
....
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<!-- 2.8.0-01 and later require maven-compiler-plugin 3.1 or higher -->
<configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
<!-- set verbose to be true if you want lots of uninteresting messages -->
<!-- <verbose>true</verbose> -->
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>${groovy.eclipse.compiler.plugin.version}</version>
</dependency>
<!-- for 2.8.0-01 and later you must have an explicit dependency on groovy-eclipse-batch -->
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-batch</artifactId>
<version>2.3.7-01</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>${groovy.eclipse.compiler.plugin.version}</version>
<extensions>true</extensions> <!-- required to get plugin to compile tests when no src/main/java dir exists -->
</plugin>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.