ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Maven
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° java ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Maven Π² ΡΠ΅Π΅ΡΡΡ GitVerse ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π³Π΄Π΅ ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ.
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ gitverse_tutorials/CICD_building_projects: Π²Π΅ΡΠΊΠΈ maven-build ΠΈ maven-puller.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Maven
ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²:
sudo apt updateΠ£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Maven:
sudo apt install mavenΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ:
$ mvn -version
Apache Maven 3.6.3
Maven home: /usr/share/maven
Java version: 11.0.23, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: en, platform encoding: UTF-8
OS name: "linux", version: "5.15.153.1-microsoft-standard-wsl2", arch: "amd64", family: "unix"settings.xml
ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠΎΠΊΠ΅Π½ Π½Π° Π²Π°Ρ Π² settings.xml Π² /home/username/.m2/settings.xml:
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<servers>
<server>
<id>gitverse</id>
<configuration>
<httpHeaders>
<property>
<name>Authorization</name>
<value>token b9fc851700bc67f92a3394f9afd164331c529c43</value>
</property>
</httpHeaders>
</configuration>
</server>
</servers>
</settings>ΠΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Maven ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ΅Π΅ΡΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² GitVerse Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΡΡΠ΅Π±ΡΡΡΠΈΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ:
<id>gitverse</id>: ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Maven, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ gitverse;<name>Authorization</name>: Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡAuthorization, Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ ΡΡΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ;<value>token b9fc851700bc67f92a3394f9afd164331c529c43</value>: Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π΄Π»Ρ HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Authorization, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ ΡΠΎΠΊΠ΅Π½ Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ GitVerse.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°
HelloWorld.java
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ src/main/java/ru/gitverse/tutorials.helloworld/ ΡΠ°ΠΉΠ» HelloWorld.java:
package ru.gitverse.tutorials.helloworld;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ HelloWorld.java
Java-ΠΏΠ°ΠΊΠ΅Ρ ru.gitverse.tutorials.helloworld ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ src/main/java/ru/gitverse/tutorials/helloworld/, ΡΡΠΎΠ±Ρ Java ΠΌΠΎΠ³ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π΅Π³ΠΎ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ, Ρ.ΠΊ. ΡΡΡΡΠΊΡΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΡΡΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ².
ΠΡΠΈ Π½Π°ΡΡΡΠ΅Π½ΠΈΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΠ±Π΅ΡΠ΅ΡΡΡ, Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° java -jar target/hello-world-module-0.0.1.jar Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ:
$ java -jar target/hello-world-module-0.0.1.jar
Error: Could not find or load main class ru.gitverse.tutorials.HelloWorldpom.xml ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π€Π°ΠΉΠ» pom.xml β ΡΡΠΎ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Maven. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ pom.xml Π΄Π»Ρ HelloWorld.java:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ru.gitverse.tutorials</groupId>
<artifactId>hello-world-module</artifactId>
<version>0.0.1</version>
<packaging>jar</packaging>
<repositories>
<repository>
<id>gitverse</id>
<url>https://gitverse.ru/api/packages/author/maven/</url>
</repository>
</repositories>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<distributionManagement>
<repository>
<id>gitverse</id>
<url>https://gitverse.ru/api/packages/author/maven/</url>
</repository>
<snapshotRepository>
<id>gitverse</id>
<url>https://gitverse.ru/api/packages/author/maven/</url>
</snapshotRepository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>ru.gitverse.tutorials.helloworld.HelloWorld</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ pom.xml ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π Π°Π·Π΄Π΅Π» Π΄Π»Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π° GitVerse Ρ Π²Π°ΡΠ΅ΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ:
<distributionManagement>
<repository>
<id>gitverse</id>
<url>https://gitverse.ru/api/packages/author/maven/</url>
</repository>
<snapshotRepository>
<id>gitverse</id>
<url>https://gitverse.ru/api/packages/author/maven/</url>
</snapshotRepository>
</distributionManagement>Π Π°Π·Π΄Π΅Π» Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>ru.gitverse.tutorials.helloworld.HelloWorld</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>Π‘Π±ΠΎΡΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ°
Π‘Π±ΠΎΡΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ°:
$ mvn clean install
[INFO] Scanning for projects...
...
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.034 s
[INFO] Finished at: 2024-07-16T07:54:38+03:00
[INFO] ------------------------------------------------------------------------ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
$ java -jar target/hello-world-module-0.0.1.jar
Hello, World!ΠΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ mvn clean install, Maven ΠΎΡΠΈΡΠ°Π΅Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΡΠΎΠ±ΡΠ°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ target, ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΏΡΠΎΠ΅ΠΊΡ, Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅ΡΡΡ (Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π΅ΡΡΡ), ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ ΡΠ΅ΡΡΡΡΡ Π² JAR-ΡΠ°ΠΉΠ» ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π΅Π³ΠΎ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Maven. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, JAR-ΡΠ°ΠΉΠ» hello-world-module-0.0.1.jar ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² Π²Π°ΡΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ°
$ mvn clean deploy
[INFO] Scanning for projects...
...
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.086 s
[INFO] Finished at: 2024-07-16T07:58:00+03:00
[INFO] ------------------------------------------------------------------------ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ Π² ΠΏΡΠΎΡΠΈΠ»Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ > ΠΠ°ΠΊΠ΅ΡΡ.
ΠΡΠΈΠΌΠ΅Ρ:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°
Puller.java
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» Puller.java Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ src/main/java/ru/gitverse/tutorials/puller:
package ru.gitverse.tutorials.puller;
import ru.gitverse.tutorials.helloworld.HelloWorld;
public class Puller {
public static void main(String[] args) {
System.out.println("calling HelloWorld.main:");
HelloWorld.main(args);
}
}ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ Puller.java
ΠΡΠ»ΠΈ ΠΎΠ±Π° ΡΠ°ΠΉΠ»Π° ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, ΡΠΎ Ρ Π½ΠΈΡ
Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΡ
ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌ: ru.gitverse.tutorials.puller; ΠΈ ru.gitverse.tutorials.helloworld;. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Π΄Π»Ρ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΡΠ»ΠΈ ΠΎΠ±Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ Π³ΡΡΠΏΠΏΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ Π³ΡΡΠΏΠΏΠΎΠ²ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ. ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΡΠΏΠΏΠΎΠ²ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² Π² Maven ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π³ΡΡΠΏΠΏΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½ΠΎ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ.
pom.xml
ΠΡΠΈΠΌΠ΅Ρ pom.xml Π΄Π»Ρ Puller.java:
<?xml version="1.0" encoding="UTF-8"?>
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>ru.gitverse.tutorials</groupId>
<artifactId>puller-module</artifactId>
<version>0.0.1</version>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<repositories>
<repository>
<id>gitverse</id>
<url>https://gitverse.ru/api/packages/author/maven</url>
</repository>
</repositories>
<distributionManagement>
<repository>
<id>gitverse</id>
<url>https://gitverse.ru/api/packages/author/maven</url>
</repository>
<snapshotRepository>
<id>gitverse</id>
<url>https://gitverse.ru/api/packages/author/maven</url>
</snapshotRepository>
</distributionManagement>
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>ru.gitverse.tutorials.Puller</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.6.0</version>
<configuration>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>ru.gitverse.tutorials</groupId>
<artifactId>hello-world-module</artifactId>
<version>0.0.1</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ pom.xml Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈΠ· ΡΠ΅Π΅ΡΡΡΠ° GitVerse ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°.
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°:

ΠΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ° Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ°:

Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ <repositories>, <distributionManagement> ΠΈ <build> Π² pom.xml ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΡΠ°Π·Π΄Π΅Π» <dependencies> Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ hello-world-module:
<dependencies>
<dependency>
<groupId>ru.gitverse.tutorials</groupId>
<artifactId>hello-world-module</artifactId>
<version>0.0.1</version>
<scope>compile</scope>
</dependency>
</dependencies>Π‘Π±ΠΎΡΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ°
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ mvn clean install:
$ mvn clean install
[INFO] Scanning for projects...
...
BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.741 s
[INFO] Finished at: 2024-07-16T11:34:17+03:00
[INFO] ------------------------------------------------------------------------mvn clean install Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈΠ· ΡΠ΅Π΅ΡΡΡΠ° ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
$ java -jar target/puller-module-1.0-SNAPSHOT.jar
calling HelloWorld.main:
Hello, World!ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ°Π»Π΅Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ:
$ mvn clean deploy
...
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.804 s
[INFO] Finished at: 2024-07-16T11:35:38+03:00
[INFO] ------------------------------------------------------------------------ΠΡΠΎΡΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ Π² ΠΏΡΠΎΡΠΈΠ»Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ > ΠΠ°ΠΊΠ΅ΡΡ.
ΠΡΠΈΠΌΠ΅Ρ:
