7.1 Maven рдордзреАрд▓ рдЪрд▓ - рдЧреБрдгрдзрд░реНрдо
рдорд╛рд╡реЗрди рддреБрдореНрд╣рд╛рд▓рд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдордзреНрдпреЗ рдареЗрд╡рдгреНрдпрд╛рдЪреА рдЕрдиреБрдорддреА рджреЗрддреЗ рд╡рд╛рд░рдВрд╡рд╛рд░ рдЖрдврд│рдгрд╛рд░реЗ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕. рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ pom рдлрд╛рдЗрд▓рдЪреНрдпрд╛ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЬреБрд│рд╡рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ рддреЗрд╡реНрд╣рд╛ рд╣реЗ рдЦреВрдк рдЙрдкрдпреБрдХреНрдд рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреБрдореНрд╣реА Java рдЖрд╡реГрддреНрддреА, рд▓рд╛рдпрдмреНрд░рд░реА рдЖрд╡реГрддреНрддреНрдпрд╛, рдард░рд╛рд╡рд┐рдХ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреЗ рдорд╛рд░реНрдЧ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреНрдпреЗ рдареЗрд╡реВ рд╢рдХрддрд╛.
рдпрд╛рд╕рд╛рдареА, рдордзреНрдпреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рднрд╛рдЧ рдЖрд╣реЗ pom.xml тАУ <properties>
, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рдШреЛрд╖рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдЪреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрд╡рд░реВрдк рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЖрд╣реЗ:
<variable-name> _ _ _ _meaning< / variable name > _
рдЙрджрд╛рд╣рд░рдг:
<properties>
<junit.version>5.2</junit.version>
<project.artifactId>new-app</project.artifactId>
<maven.compiler.source>1.13</maven.compiler.source>
<maven.compiler.target>1.15</maven.compiler.target>
</properties>
рднрд┐рдиреНрди рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рд╡рд╛рдкрд░реВрди рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ:
$ { variable -name } _
рдЬреЗрдереЗ рдЕрд╕рд╛ рдХреЛрдб рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдЕрд╕реЗрд▓ рддреЗрдереЗ Maven рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдЪреЗ рдореВрд▓реНрдп рдмрджрд▓реЗрд▓.
рдЙрджрд╛рд╣рд░рдг:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
</build>
7.2 Maven рдордзреНрдпреЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЪрд▓
рдкреЙрдо рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдЪреЗ рд╡рд░реНрдгрди рдХрд░рддрд╛рдирд╛, рддреБрдореНрд╣реА рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛. рддреЗ рд╕рд╢рд░реНрддрдкрдгреЗ рдЕрдиреЗрдХ рдЧрдЯрд╛рдВрдордзреНрдпреЗ рд╡рд┐рднрд╛рдЧрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд:
- рдЕрдВрдЧрднреВрдд рдкреНрд░рдХрд▓реНрдк рдЧреБрдгрдзрд░реНрдо;
- рдкреНрд░рдХрд▓реНрдк рдЧреБрдгрдзрд░реНрдо;
- рд╕реЗрдЯрд┐рдВрдЧреНрдЬ.
рдлрдХреНрдд рджреЛрди рдЕрдВрдЧрднреВрдд рдкреНрд░рдХрд▓реНрдк рдЧреБрдгрдзрд░реНрдо рдЖрд╣реЗрдд:
рдорд╛рд▓рдорддреНрддрд╛ | рд╡рд░реНрдгрди |
---|---|
${basedir} | рдкреНрд░рдХрд▓реНрдк рд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреБрдареЗpom.xml |
${рдЖрд╡реГрддреНрддреА} | рдХреГрддреНрд░рд┐рдорддрд╛ рдЖрд╡реГрддреНрддреА; рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ ${project.version} рдХрд┐рдВрд╡рд╛${pom.version} |
┬лproject┬╗
рдкреНрд░рдХрд▓реНрдк рдЧреБрдгрдзрд░реНрдо рдХрд┐рдВрд╡рд╛ рдЙрдкрд╕рд░реНрдЧ рд╡рд╛рдкрд░реВрди рд╕рдВрджрд░реНрднрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ ┬лpom┬╗
. рдЖрдордЪреНрдпрд╛рдХрдбреЗ рддреНрдпрд╛рдкреИрдХреА рдЪрд╛рд░ рдЖрд╣реЗрдд:
рдорд╛рд▓рдорддреНрддрд╛ | рд╡рд░реНрдгрди |
---|---|
${project.build.directory} | ┬лtarget┬╗ рдкреНрд░рдХрд▓реНрдк рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ |
${project.build.outputDirectory} | ┬лtarget┬╗ рдХрдВрдкрд╛рдЗрд▓рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛. рдбреАрдлреЙрд▓реНрдЯ┬лtarget/classes┬╗ |
${project.name} | рдкреНрд░рдХрд▓реНрдкрд╛рдЪреЗ рдирд╛рд╡ |
${project.version} | рдкреНрд░рдХрд▓реНрдк рдЖрд╡реГрддреНрддреА |
settings.xml
рдЙрдкрд╕рд░реНрдЧ рд╡рд╛рдкрд░реВрди рдЧреБрдгрдзрд░реНрдорд╛рдВрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ settings
. рдирд╛рд╡реЗ рдХрд╛рд╣реАрд╣реА рдЕрд╕реВ рд╢рдХрддрд╛рдд - рддреЗ рд╡рд░реВрди рдШреЗрддрд▓реЗ рдЬрд╛рддрд╛рдд settings.xml
. рдЙрджрд╛рд╣рд░рдг:
${settings.localRepository} sets the path to the local repository.