7.1 Maven์ ๋ณ์ - ์์ฑ
์์ฃผ ๋ฐ์ํ๋ ๋งค๊ฐ๋ณ์ 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์ ๋ฏธ๋ฆฌ ์ ์๋ ๋ณ์
pom ํ์ผ์์ ํ๋ก์ ํธ๋ฅผ ์ค๋ช ํ ๋ ๋ฏธ๋ฆฌ ์ ์๋ ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์กฐ๊ฑด๋ถ๋ก ์ฌ๋ฌ ๊ทธ๋ฃน์ผ๋ก ๋๋ ์ ์์ต๋๋ค.
- ๋ด์ฅ ํ๋ก์ ํธ ์์ฑ
- ํ๋ก์ ํธ ์์ฑ;
- ์ค์ .
๊ธฐ๋ณธ ์ ๊ณต ํ๋ก์ ํธ ์์ฑ์ ๋ ๊ฐ์ง๋ฟ์ ๋๋ค.
์ฌ์ฐ | ์ค๋ช |
---|---|
${basedir} | ํ๋ก์ ํธ ๋ฃจํธ ๋๋ ํ ๋ฆฌpom.xml |
${๋ฒ์ } | ์ํฐํฉํธ ๋ฒ์ ; ์ฌ์ฉํ ์ ${project.version} ์๊ฑฐ๋${pom.version} |
ยซprojectยป
ํ๋ก์ ํธ ์์ฑ์ ๋๋ ์ ๋์ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฐธ์กฐํ ์ ์์ต๋๋ค ยซpomยป
. ๋ค ๊ฐ์ง๊ฐ ์์ต๋๋ค.
์ฌ์ฐ | ์ค๋ช |
---|---|
${ํ๋ก์ ํธ.๋น๋.๋๋ ํ ๋ฆฌ} | ยซtargetยป ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ |
${project.build.outputDirectory} | ยซtargetยป ์ปดํ์ผ๋ฌ ๋๋ ํ ๋ฆฌ. ๊ธฐ๋ณธยซtarget/classesยป |
${ํ๋ก์ ํธ ์ด๋ฆ} | ํ๋ก์ ํธ์ ์ด๋ฆ |
${ํ๋ก์ ํธ.๋ฒ์ } | ํ๋ก์ ํธ ๋ฒ์ |
์์ฑ์ settings.xml
์ ๋์ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ก์ธ์คํ ์ ์์ต๋๋ค settings
. ์ด๋ฆ์ ๋ฌด์์ด๋ ๋ ์ ์์ต๋๋ค. ์์ ๊ฐ์ ธ์จ ๊ฒ์
๋๋ค settings.xml
. ์:
${settings.localRepository} sets the path to the local repository.
GO TO FULL VERSION