Intellij对多模块maven scala项目不起作用

时间:2017-04-25 07:35:36

标签: scala maven intellij-idea intellij-scala

我有一个带有混合scala / java模块的标准多项目maven的项目。

当我在IntelliJ上打开这个项目时,它无法将scala文件夹识别为源/测试源根文件夹。

onClick

因此,无法识别相互依赖性。

我必须逐个模块去手动设置sources文件夹。

你知道如何自动进行吗?

2 个答案:

答案 0 :(得分:3)

当我想在intelliJ中使用scala设置maven子模块时,我遇到了类似的问题。我最终成功使用了特定的pom.xml。你可以这样调查。

只是为了获取信息,我将从pom.xml中提取一些可能对您有用的摘录:

父pom.xml

<pluginManagement>
    <plugins>
            <!-- configure scala style -->
            <plugin>
                <groupId>org.scalastyle</groupId>
                <artifactId>scalastyle-maven-plugin</artifactId>
                <version>0.8.0</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <verbose>false</verbose>
                    <failOnViolation>true</failOnViolation>
                    <includeTestSourceDirectory>true</includeTestSourceDirectory>
                    <failOnWarning>false</failOnWarning>
                    <sourceDirectory>${basedir}/src/main/scala</sourceDirectory>
                    <testSourceDirectory>${basedir}/src/test/scala</testSourceDirectory>
                    <outputFile>${project.basedir}/target/scalastyle-output.xml</outputFile>
                    <outputEncoding>UTF-8</outputEncoding>
                </configuration>
            </plugin>

            <!-- set scala maven plugin version -->
            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <version>3.2.2</version>
                <configuration>
                    <scalaCompatVersion>${scala.binary.version}</scalaCompatVersion>
                    <scalaVersion>${scala.version}</scalaVersion>
                </configuration>

            </plugin>
    </plugins>
</pluginManagement>

Child pom.xml

<build>
        <plugins>

            <!-- Scala Compiler -->
            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <executions>
                    <!-- Run scala compiler in the process-resources phase, so that dependencies on
                        scala classes can be resolved later in the (Java) compile phase -->
                    <execution>
                        <id>scala-compile-first</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <jvmArgs>
                        <jvmArg>-Xms128m</jvmArg>
                        <jvmArg>-Xmx512m</jvmArg>
                    </jvmArgs>
                </configuration>
            </plugin>

            <!-- Adding scala source directories to build path -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>1.7</version>
                <executions>
                    <!-- Add src/main/scala to eclipse build path -->
                    <execution>
                        <id>add-source</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>src/main/scala</source>
                            </sources>
                        </configuration>
                    </execution>
                    <!-- Add src/test/scala to eclipse build path -->
                    <execution>
                        <id>add-test-source</id>
                        <phase>generate-test-sources</phase>
                        <goals>
                            <goal>add-test-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>src/test/scala</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <!-- Scala Code Style, most of the configuration done via plugin management -->
            <plugin>
                <groupId>org.scalastyle</groupId>
                <artifactId>scalastyle-maven-plugin</artifactId>
                <configuration>
                    <configLocation>${project.basedir}/../../tools/maven/scalastyle-config.xml</configLocation>
                </configuration>
            </plugin>

不幸的是,我无法准确地说出哪个部分是基本的。希望它可以提供帮助。

答案 1 :(得分:1)

奇怪的是,这个问题与maven importer内存问题有关。  我增加了导入内存设置并重新导入了项目,它像魔术一样工作。 enter image description here

相关问题