簡體   English   中英

春季啟動2。Java10。JUnit。 可以從多個模塊中訪問org.slf4j軟件包: <unnamed> ,slf4j.api

[英]Spring boot 2. Java 10. JUnit. The package org.slf4j is accessible from more than one module: <unnamed>, slf4j.api

我使用Maven,Java 10,Spring boot 2和Junit 5創建帶有單元測試的應用程序。

主要應用類別:

package mypackage;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApplication {

    private final static Logger LOGGER = LoggerFactory.getLogger(MyApplication.class);

    public static void main(String[] args) {
        LOGGER.info("I'am running...");
        SpringApplication.run(MyApplication.class, args);
    }
}

我的JUnit測試課程:

package mypackage;

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;


@ExtendWith(SpringExtension.class)
@SpringBootTest(classes=MyTest.class)
public class MyTest {
    private static final Logger LOGGER = LoggerFactory.getLogger(MyTest.class);
    @Test
    public void myTest() {
        LOGGER.info("Message from test");
    }
}

當我在Eclipse 4.10中導入我的maven項目時,我在測試類上遇到錯誤:

The package org.slf4j is accessible from more than one module: <unnamed>, slf4j.api

但是mvn install工作正常,並且maven-surefire-plugin運行正確。 我做錯了什么? 還是eclipse bug? 也許Java 10,Junit和SLF4J不能一起使用? 在我的module-info.java中:需要slf4j.api;

請幫我。

當您在ModulePath中添加了外部jar時,就會發生這種情況。 刪除那些添加的外部jar,並使用pom.xml添加依賴項

在依賴關系層次結構下檢查,slf4j庫應處於一個依賴關系下

我相信您已將slf4j的jar添加到ModulePath中:

轉到項目-> BuildPath->配置BuildPath->從Modulepath中刪除Jars

需要從spring-boot項目中刪除module-info.class。 春天開機/#16031

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM