簡體   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