私のプロジェクトでは、Mavenを使用してJavaクラスとGroovyクラスの両方をコンパイルしています。私のプロジェクトは、Mavenを使用して正常にコンパイルおよびビルドされますが、IDEA(IntelliJ)でも正しくビルドする必要があります。私はmavenを使用して、次のコマンドでIDEAプロジェクトファイルを生成します。
mvn idea:idea
groovyファイルではなく、javaファイルのみをビルドすることに気づきました。
問題は、デフォルトでIDEAが.java拡張子を持たないすべてのファイルをリソースと見なしていたことであることがわかりました。
Maven IDEAプラグインを使用してプロジェクトファイルを生成すると、iprファイルに次のようになります。
<component name="CompilerConfiguration">
<option name="DEFAULT_COMPILER" value="Javac" />
<resourceExtensions />
<wildcardResourcePatterns>
<entry name="!?*.java" />
</wildcardResourcePatterns>
...
groovyファイル(および他のいくつかの種類のファイル)をコンパイルするには、この方法で変更する必要があります。
<component name="CompilerConfiguration">
<option name="DEFAULT_COMPILER" value="Javac" />
<resourceExtensions />
<wildcardResourcePatterns>
<entry name="!?*.java" />
<entry name="!?*.groovy" />
<entry name="!?*.scala" />
<entry name="!?*.flex" />
</wildcardResourcePatterns>
...
注:この情報は、IDEA->設定->コンパイラ->リソースパターンでも検索/編集できます。
次のコマンドを使用して正しく生成できます。
mvn idea:idea -DwildcardResourcePatterns="!?*.java;!?*.groovy;"
誰かがpom.xmlでこれを構成する方法を知っていますか?