Maven - YooYoungmo/AEP GitHub Wiki
https://en.wikipedia.org/wiki/Apache_Maven
์ฃผ๋ก ์๋ฐ์์ ์ฌ์ฉ๋๋ ๋น๋ ์๋ํ ํด์ด๋ค.
httpsํ๋กํ ์ฝ ์ด์ฉ์ ์ ์ฝ์ด ์๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๋ ํ์งํ ๋ฆฌ์ ํ๋กํ ์ฝ์ http๋ก ์์ ํ์ฌ ์ฌ์ฉ ํ ์ ์๋ค.
pom.xml ํ์ผ ๋ณด์กฐ ํด๋ฆญ ํ-> maven -> show Effective POM ๋ก ํ์ธ ๊ฐ๋ฅ
<!-- pom.xml -->
<project>
<?xml version="1.0" encoding="UTF-8"?>
...
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>Central Repository</name>
<url>http://repo.maven.apache.org/maven2</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>Central Repository</name>
<url>http://repo.maven.apache.org/maven2</url>
</pluginRepository>
</pluginRepositories>
</project>
์ฐธ์กฐ๋ library์ ๋ด๋ถ library์ ๋ฒ์ ์ถ๋์ ๋๊ฐ์ง ๋ฐฉ์์ผ๋ก ๊ด๋ฆฌ ๊ฐ๋ฅ
- ํน์ library์ ์์กด์ฑ ์ ๊ฑฐ
- library์ ๋ฒ์ ์ fix ํ๋ ๋ฐฉ์
<!-- pom.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<project>
<dependencies>
<dependency>
<groupId>net.sourceforge.htmlunit</groupId>
<artifactId>htmlunit</artifactId>
<version>2.24</version>
<!-- ํน์ library์ ์์กด์ฑ ์ ๊ฑฐ -->
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<!-- library์ ๋ฒ์ ์ fix ํ๋ ๋ฐฉ์ -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
###Maven Surefire Plugin
build lifeCycle์ test๋จ๊ณ์ ์ฌ์ฉ๋๋ฉฐ - unit test ์ํ
configuration์ IntegrationTest์ ํจํด์ excludes ์ง์ ํ์ฌ ํ
์คํธ ์ํ์ ์ ์ธํ๊ณ ์๋ค.
<!-- pom.xml -->
<project>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<excludes>
<exclude>**/*IntegrationTest*</exclude>
</excludes>
</configuration>
</plugin>
...
integration test๋ฅผ ์ํํฉ๋๋ค. integration test๋ฅผ ์ํ 4๋จ๊ณ์ Maven lifecycle๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- pre-integration-test
- integration-test
- post-integration-test
- verify
<project>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<includes>
<include>**/*IntegrationTest*</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
...
์์ค ์ปดํ์ผ์ ํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. (๋ณธ ํ๋ก์ ํธ์์ maven์ผ๋ก ์คํ์ jdk์ ๋ ๋ฆฝ์ ์ผ๋ก ์ปดํ์ผ๋ฌ์ ๋ฒ์ ์ ์ง์ ํด์ฃผ๋๋ฐ ์ฌ์ฉ.)
<project>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
...