Sobes.tech
Junior
89
questionbank

Расскажите о структуре файла POM в менеджере пакетов Maven.

Ответ от нейросети

sobes.tech AI

<!-- Базовый POM-файл -->
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <!-- Версия модели POM. Всегда 4.0.0 для Maven 2/3 -->
    <modelVersion>4.0.0</modelVersion>

    <!-- Координаты проекта -->
    <groupId>com.example</groupId> <!-- Идентификатор группы (организации) -->
    <artifactId>my-project</artifactId> <!-- Идентификатор артефакта (проекта) -->
    <version>1.0.0-SNAPSHOT</version> <!-- Версия проекта (SNAPSHOT - в разработке) -->
    <packaging>jar</packaging> <!-- Тип упаковки артефакта (jar, war, pom, ear и т.д.) -->

    <!-- Описание проекта -->
    <name>My Amazing Project</name> <!-- Читаемое имя проекта -->
    <description>A simple example Maven project.</description> <!-- Подробное описание -->
    <url>http://www.example.com/my-project</url> <!-- URL проекта -->

    <!-- Свойства проекта -->
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- Кодировка исходников -->
        <java.version>11</java.version> <!-- Версия Java -->
    </properties>

    <!-- Управление зависимостями -->
    <dependencies>
        <!-- Пример зависимости -->
        <dependency>
            <groupId>junit</groupId> <!-- Группа зависимости -->
            <artifactId>junit</artifactId> <!-- Артефакт зависимости -->
            <version>4.13.2</version> <!-- Версия зависимости -->
            <scope>test</scope> <!-- Область видимости (compile, test, runtime, provided, system, import) -->
        </dependency>
    </dependencies>

    <!-- Управление сборкой -->
    <build>
        <plugins>
            <!-- Пример плагина для компиляции Java -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>${java.version}</source> <!-- Использовать свойство версии Java -->
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <!-- Управление репозиториями -->
    <repositories>
        <repository>
            <id>central</id>
            <url>https://repo.maven.apache.org/maven2</url>
        </repository>
    </repositories>

    <!-- Управление профилями -->
    <profiles>
        <profile>
            <id>dev</id> <!-- Идентификатор профиля -->
            <!-- Специальные настройки для профиля "dev" -->
        </profile>
    </profiles>

</project>