Перейти к основному содержимому

94 записи с тегом "Maven"

Посмотреть все теги

· 2 мин. чтения

1. Обзор

В этом кратком учебном пособии описывается тег <Optional> Maven и то, как мы можем использовать его для уменьшения размера и объема артефакта проекта Maven, такого как WAR, EAR или JAR.

Чтобы освежить в памяти Maven, ознакомьтесь с нашим подробным руководством .

2. Что такое <необязательный> ?

Иногда мы создаем проект Maven, который будет зависеть от других проектов Maven. При работе над таким проектом может потребоваться включить одну или несколько зависимостей, которые полезны только для подмножества функций этого проекта.

· 1 мин. чтения

1. Обзор

В этом кратком руководстве мы увидим, как запустить команду mvn из любого каталога за пределами pom.xml .

2. mvn из другого каталога

Если мы запустим любую подкоманду mvn из каталога, не содержащего файла pom.xml , команда завершится ошибкой:

$ mvn clean compile
The goal you specified requires a project to execute but there is no POM in this directory.
Please verify you invoked Maven from the correct directory

· 3 мин. чтения

1. Введение

В этом руководстве мы рассмотрим, как преобразовать файл сборки Gradle в файл Maven POM. Мы также рассмотрим несколько доступных вариантов настройки.

2. Файл сборки Gradle

Начнем со стандартного Java-проекта Gradle, gradle-to-maven , `со следующим файлом build.gradle` :

repositories {
mavenCentral()
}

group = 'com.foreach'
version = '0.0.1-SNAPSHOT'

apply plugin: 'java'

dependencies {
compile('org.slf4j:slf4j-api')
testCompile('junit:junit')
}

· 7 мин. чтения

1. Введение

В этом руководстве мы собираемся настроить Maven для работы за прокси-сервером — обычная ситуация в средах, где мы не подключаемся напрямую к Интернету.

В нашем примере наш прокси работает на машине «proxy.foreach.com» и прослушивает прокси-запросы через HTTP на порту «80». Мы также будем использовать некоторые внутренние сайты по адресу internal.foreach.com, где нам не нужно использовать прокси.

2. Конфигурация прокси

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

· 4 мин. чтения

1. Обзор

В этом кратком руководстве мы рассмотрим, как Maven, инструмент, основанный на концепции объектной модели проекта (POM), может использовать спецификацию или «ведомость материалов».

Подробнее о Maven можно узнать в нашей статье Apache Maven Tutorial .

2. Концепции управления зависимостями

Чтобы понять, что такое спецификация и для чего мы можем ее использовать, нам сначала нужно изучить основные понятия.

· 6 мин. чтения

1. Обзор

Обычно удобно объединять множество файлов классов Java в один архивный файл.

В этом руководстве мы рассмотрим все тонкости работы с файлами jar — или J ava AR chive — в Java.

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

2. Настройка Java-программы

· 2 мин. чтения

1. Обзор

В этом кратком руководстве мы рассмотрим, как использовать переменные, определенные в файле pom.xml Maven, из приложения Java.

2. Конфигурация плагина

В этом примере мы будем использовать подключаемый модуль Maven Properties .

Этот плагин будет привязан к фазе генерации ресурсов и создаст файл, содержащий переменные, определенные в нашем pom.xml во время компиляции. Затем мы можем прочитать этот файл во время выполнения, чтобы получить значения.

· 5 мин. чтения

1. Обзор

Многомодульные проекты Maven могут иметь сложные графы зависимостей. Это может привести к необычным результатам, чем больше модули импортируют друг друга.

В этом руководстве мы увидим, как разрешить конфликт версий артефактов в Maven .

Мы начнем с многомодульного проекта, в котором намеренно использовали разные версии одного и того же артефакта. Затем мы увидим, как предотвратить получение неправильной версии артефакта с помощью исключения или управления зависимостями.

Наконец, мы попробуем использовать maven-enforcer-plugin , чтобы упростить управление, запретив использование транзитивных зависимостей.

2. Версия Столкновение Артефактов

· 2 мин. чтения

1. Обзор

Просмотр исходного кода и документации различных библиотек и фреймворков — хороший способ узнать о них больше.

В этом кратком руководстве мы увидим, как настроить Maven или попросить Maven загрузить для нас источники зависимостей и их Javadocs.

2. Командная строка

По умолчанию Maven загружает только фактический JAR-файл каждой зависимости, а не файлы исходного кода и документации.

· 3 мин. чтения

1. Обзор

В этом кратком руководстве мы увидим, как запускать произвольные основные методы из любого класса Java с помощью Maven.

2. Плагин exec-maven

Предположим, у нас есть следующий класс:

public class Exec {

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

public static void main(String[] args) {
LOGGER.info("Running the main method");
if (args.length > 0) {
LOGGER.info("List of arguments: {}", Arrays.toString(args));
}
}
}