Несколько вопросов по использованию Мавена

Доброе время суток, не могли бы Вы объяснить всё ли я правильно делаю и как лучше?
1.Скачал установил мавен
1.1Скачал файлик apache-maven-3.3.3-bin.zip
1.2. В параметрах системы прописал пути. Path, M2_HOME.
1.3 Решил пару проблем с Intellij IDEA.
2. Написал код.
3. Запустил mvn.exe test
Все работает как надо но есть пару вопросов:
1.После того как прописал path не могу открывать jar файлы командой java -jar “Path_to_file”
Ошибка стандартная: не видит jre (ну это и понятно ибо в path стоит jdk).
Вопрос: Неужели что бы запускать тесты через мавен и проекты через консоль постоянно нужно менять path?
2.Что бы запустить тесты из мавена нужно папку src и pom.xml кинуть в директорию мавена.
Вопрос: Постоянно придётся руками перекидывать папку с проектом из C:/Users/User/IdeaProjects/project или есть какая-то настройка в IDE? А что будет если мне нужно несколько проектов держать в папке?
Для справки: папку src и pom.xml я положил просто в корень мавена.

И Еще маленький вопросик не подскажете где можно почитать как правильно делать pom файл?

Так. Пойдем по пунктам.

  1. Проблема c jre. Во первых - jdk содержит jre. Во вторых - если после указания в path появилась такая ошибка - значит вы сделали обычную ошибку в path. Посмотрите внимательнее, может быть вы не поставили точку с запятой где-то? Можете кинуть сюда, посмотрим вместе. Разумеется, ничего переставлять не надо.
  2. Никуда не надо перекладывать проект. Вы можете создавать проект через команды мавена(вот тут очень на мой взгляд хорошая статья для того, чтобы понять азы)

Вот такой путь C:\Program Files\Java\jdk1.8.0_25\

Логично, что ничего не находит. C:\Program Files\Java\jdk1.8.0_25 - лишь путь к JAVA_HOME. В Path должно быть %JAVA_HOME%\bin, помимо всего прочего.

И еще вопрос, когда я прописываю зависимости то мавен сам тянет библиотеки из своего репозитория?

Он тянет библиотеки из центрального репозитория в ваш локальный. В случае с IDEA, для того, чтобы делать это автоматически, нужно включить автоимпорт в настройках, если не сделали это при создании проекта (в Event Log должно было быть предложение включить автоимпорт).

А пардон Path у меня вообще C:\Program Files\maven\bin, я так понял через “;” нужно добавить путь на jre?

Так у вас вообще Java в Path нет? :slight_smile: Добавить нужно ровно то, что я написал выше. Глобальная переменная окружения - JAVA_HOME c путем к JDK руту + ссылка на bin в Path. Забудьте про JRE. Для разработки нужен JDK, который, как сказали выше, уже содержит в себе JRE.

у меня 3 переменные
Path C:\Program Files\maven\bin
JAVA_HOME C:\Program Files\Java\jdk1.8.0_25 (сам её руками добавил ибо мавен ругался)
M2_HOME C:\Program Files\maven\

Классно, но сколько раз мне нужно еще повторить, чтобы вы добавили %JAVA_HOME%\bin в Path?
Ссылку на maven\bin вы все же добавили, а java почему обделили?

П.С. Учитесь использовать ссылки на уже заданные переменные. Если вы объявили M2_HOME с путем к Maven, то чтобы сослаться на bin каталог, достаточно в Path указать %M2_HOME%\bin. По аналогии - с JDK. И не забывайте о лишних слешах. :wink:

Да понял, спасибо, дома буду разбираться.

А еще 1 вопросик, я сделал mvn package как этот jarник запустить для тестирования если в нём нету main?
Как сделать что бы можно было открыть jar тесты на другом компьютере стандартным java -jar?
Ну или хотя бы по другому но без установки мавена и прочего ПО.

Ап?