728x90


maven의 가장큰 장점이자 ant와의 차별점은(사실 ant도 비공식적으로 할수는 있다.)

maven 레포지터리를 통해서 의존성을 다운받을 수 있다.

maven 레포지터리를 한번 보도록 하자.


https://mvnrepository.com


maven레포지터리는 대부분의 유명한 프로젝트들이 등록되어 있고 maven만 있으면 쉽게 설치할 수있다.

만약 필요한 라이브러리(의존성:dependecy)가 필요하다면 검색해서 쓰면된다.

어떤방법으로 쓰는지 확인해 보자.


예를들어 jlayer를 사용하는 예시를 보자.

jlayer는 여러기능이 있지만 보통 mp3파일을 사용하게 해주는 라이브러리이다.

먼저 레포지터리에 검색을한다. 그리고 클릭을 해보자.


그러면 밑에 버전이 뜬다. 이 jlayer의 경우 1.0.1버전밖에 없지만 다른 프로젝트에서는 여러버전이 있다.

그 버전을 눌러준다.


그러면 위처럼 각 버전으로 가게 된다.

만약 jar파일이 필요하다면 위의 jar파일을 눌러서 사용할 수 있다.

하지만 그렇게 쓰는건 바람직 하지 않다.

아래 Maven부분에서보면 pom.xml에 어떻게 사용할 수 있는지 예제가 있다.

이를 복사해서 pom.xml에 붙혀준다.

그럼 프로젝트를 통해서 예시를 보도록하자.


해당 프로젝트를 예시로 적용해보자.

App클래스 내부에서 jlayer를 사용해 보자.


package net.theceres;

import javazoom.jl.player.Player;

import java.io.FileInputStream;

/**
* Hello world!
*/
public class App {
public static void main(String[] args) {
try {
FileInputStream fileInputStream = new FileInputStream(
"/Users/kukaro/Desktop/music/Uplink - Crying Over You [NCS Release].mp3");
Player player = new Player(fileInputStream);
player.play();
} catch (Exception e) {
e.printStackTrace();
}

}
}

여기서 코드는 mp3파일을 열어서 사용하는 예시이다.

이제 pom.xml을 수정해보자.


<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.theceres</groupId>
<artifactId>CommandLineMakeMaven</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>CommandLineMakeMaven</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javazoom</groupId>
<artifactId>jlayer</artifactId>
<version>1.0.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>net.theceres.App</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>

실행을 위해서 전시간에 배웠던 build부분이 있다.

그리고 위의 depenencies부분을 보자.


<dependency>
<groupId>javazoom</groupId>
<artifactId>jlayer</artifactId>
<version>1.0.1</version>
</dependency>

이부분은 아까 사이트에있떤 jlayer사용 부분이다.

이걸 그대로 넣어주면된다.

이제 여러분은 놀랍게도 이때까지 사용했던방식그대로 쓰면 자동으로 설치된다.



mvn install


해당 예제를 실행해 보도록하자.




+ Recent posts