Другая версия maven между бегуном Intellij и консолью (WSL)JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Другая версия maven между бегуном Intellij и консолью (WSL)

Сообщение Anonymous »

В IntelliJ IDEA с использованием WSL (подсистема Windows для Linux) в проекте Java maven, когда я пытался импортировать внешнюю библиотеку, библиотеку можно использовать в командной строке, в редакторе IDE, но не в средстве запуска тестов IDE.
Используя представление IntelliJ Maven, я могу синхронизировать проект.
Он загружает jar в мой .m2 на WSL-пространство (/home/myUser/.m2), оно заставляет мои Java-файлы компилироваться в редакторе, затем я могу нажать Ctrl + щелчок, чтобы открыть исходный код, или использовать автозаполнение, без предупреждений и ошибок.
Я могу запустить тест mvn в командной строке, без проблем.
Но когда я пытаюсь запустить тесты с помощью средства запуска тестов IntelliJ, он отображает ошибка компиляции:

\wsl.localhost\Ubuntu\home\myUser\workspace\TheProject\src\test\java\org\example\ATest.java:5:39

java: пакет org.apache.commons.lang3 не существует

Кроме этой ошибки, в редакторе ничего не меняется, нет красной линии, нет предупреждений, я все еще могу использовать автодополнение для этой библиотеки.
Если я запускаю тест mvn с использованием представления mvn в IntelliJ, я получаю ошибку

Переменная среды JAVA_HOME не определена правильно, эта переменная среды необходима для запуска этой программы.

Пример с appache.commons.lang3 (но это может быть любая новая библиотека).

Код: Выделить всё

package org.example;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;   // it was already imported in a previous project

import static org.apache.commons.lang3.StringUtils.isBlank;         // the new import

class ATest {

@Test
public void test_pass() {
assertTrue(isBlank(null));
assertTrue(isBlank(""));
assertTrue(isBlank("   "));
assertTrue(isBlank("\t"));
}
}
Я добавляю зависимость в pom.xml.

Код: Выделить всё


4.0.0

org.example
untitled
1.0-SNAPSHOT


21
21
UTF-8



org.junit.jupiter
junit-jupiter
5.11.1
test


org.apache.commons
commons-lang3
3.0




Вероятно, это проблема с конфигурацией, но я понятия не имею, где мне что-то изменить.
Я уже много раз пытаюсь сделать кеш недействительным и перезапустить его.

Подробнее здесь: https://stackoverflow.com/questions/796 ... onsole-wsl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»