繁体   English   中英

从 Intellij 编译项目时,在 Maven 项目上获得“没有为模块定义 groovy 库”

[英]Getting "no groovy library is defined for module" on a maven project when compiling the project from Intellij

下面是 pom.xml 的内容。 我使用 junit 生成了带有 Maven 原型快速入门的项目。 我遇到两个问题:

  1. 当尝试从 Intellij 运行测试时,我得到“没有定义 Groovy 库”,尽管我在这个项目中与 Groovy 无关。

  2. 从命令行执行 mvn test 时,未识别任何测试。

顺便提一下,我的mac默认java版本是8,所以运行mvn时我把JAVA_HOME导出到12,可能是nr.1的问题,不确定。

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>12</maven.compiler.source>
        <maven.compiler.target>12</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.pcollections</groupId>
            <artifactId>pcollections</artifactId>
            <version>3.1.3</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

    </dependencies>

当尝试从 Intellij 运行测试时,我得到“没有定义 Groovy 库”,尽管我在这个项目中与 Groovy 无关。

这听起来像是一个错误,因为 pcollections 和 junit 都与 groovy 无关:

尝试重新导入您的项目(Maven 选项卡 + 重新导入)。 如果这没有帮助,请关闭项目,然后再次打开pom.xml它将提供重新创建项目并丢弃旧数据,同意这一点,它将重建所有内容。

从命令行执行 mvn test 时,未识别任何测试。

您开发的测试可能不遵循类解析的surefire约定(它应该以*Test结尾,但如果我没记错的话,它在最新版本的surefire中略有变化,所以现在*Tests也可以)。 请在运行“测试”阶段以及您的测试定义之一(即使使用简单的测试代码)时添加 maven 命令行输出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM