반응형

 

일반적으로는 리눅스에서 빌드를 하는 경우가 많이는 없다.

 

보통은 git과 jenkins를 통해 빌드 배포하고 있기 때문에 하지만 내가 가지고 있는 프로젝트중에

 

hadoop mapreduce작업을 해서 cassandra에 밀어 넣는 처리를하는 경우가 있다.

 

이 경우 hadoop관련 jar파일이 필요한데 pom.xml  dependency 경로가 서버내의 cloudera경로에 걸려있어 

 

서버내에서 maven 빌드를 진행해주어야만 하는 경우가 있었다.(물론 해당 jar파일을 공통 레파지토리나 프로젝트내에 넣어 묶을 수 있긴한데...)

 

먼저 리눅스에서 maven 빌드를 실행하려면 서버에 maven이 깔려있는지 확인이 필요한다.

 

 

> mvn -v

 

깔려있지 않다면 먼저 maven 설치가 필요하다.

 

그리고 빌드를 해서 jar파일을 만들고자하는 프로젝트 경로로 이동해서 pom.xml이 위치한 곳에서 

 

mvn package를 실행해주면 된다. (profile이나 다른 옵션을 주는 경우 해당 명령어에 -P 등을 추가해주자)

 

 

> mvn package (pom.xml이 위치하고 있는 곳에서)

 

 

이렇게 빌드를 하게되면 필요한 dependency들을 다운받아와 jar를 만드는 것을 확인할 수 있다.

 

 

 

반응형

'Programming > Maven' 카테고리의 다른 글

mvn package시 test 코드 건너뛰기  (0) 2018.01.31
MAVEN과 ANT 비교  (0) 2017.05.10
반응형


maven으로 빌드시 정상적으로 동작하지 않는 test케이스들로 인해 실패하는 경우가 많다.


테스트케이스를 작성한지 오래됬거나 변경된 정보들로 인해 성공못하는 경우가 빈번하다.


물론 가장 좋은 케이스는 테스트케이스들도 같이 꾸준히 관리를 해주는 것이지만


그게 쉬운일이던가???....


무튼 이런 경우 보통 jenkins 등 ci 툴에서도 빌드시 skip test 명령어를 명시적으로 넣어주곤 한다.


방법은 세 가지다.


첫 번째, 메이븐 빌드 실행 커맨드 라인에 다음과 같이 실행


package -Dmaven.test.skip=true


두 번째, 메이븐 빌드 실행 커맨드 라인에 다음과 같이 실행

package -DskipTests


세 번째, 커맨드 라인에 명령어를 명시적으로 주어서 사용하고 싶지 않은 경우 (pom.xml plugin 추가)

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <skipTests>true</skipTests>
  </configuration>
</plugin>


위와 같이 세 가지 방법으로 사용할 수 있고 나의 경우는 두 번째 방법을 스프링 부트내에서 자주 사용해 packing하곤 한다.





반응형

'Programming > Maven' 카테고리의 다른 글

리눅스 환경에서 mave으로 빌드하기(mvn package)  (1) 2018.05.09
MAVEN과 ANT 비교  (0) 2017.05.10

+ Recent posts