본문 바로가기

maven9

[Maven] 메이븐으로 특정 테스트 클래스 혹은 테스트 메소드만 실행하는 방법 메이븐에서 surefire 플러그인으로 빌드 중에 테스트를 실행하는 경우가 많다. surefire 플러그인은 test 라는 골만 지원하는데, 기본적으로 프로젝트에 있는 전체 테스트를 실행하게 된다. 문제는 일부 테스트가 실패했을 때, 문제를 수정하고 실패했던 테스트가 여전히 실패하고 있는지 간단하게 확인하고 싶은 경우다. 매번 전체 테스트 셋을 다 돌려보는 것은 매우 낭비이기 때문이다. 전체 테스트 수행 프로젝트의 전체 테스트를 수행하기 위해서는 test 골만 입력하면 된다. $ mvn test 하나의 테스트 클래스 수행 전체 테스트 중 하나의 테스트 클래스에 포함되어 있는 테스트들만 수행하고 싶은 경우는 다음과 같이 실행한다. $ mvn test -Dtest="TestName" test 변수에 실행하고.. 2023. 3. 18.
[IntelliJ] Maven Helper 플러그인 설치 및 사용법 메이븐(Maven)은 여전히 가장 많이 사용되고 있는 빌드 시스템 중 하나다. 메이븐을 이용하여 자바 프로젝트에서 사용하는 라이브러리들을 쉽게 가져올 수 있고 프로젝트의 빌드, 테스트, 배포 등을 쉽고 직관적으로 관리할 수 있다. 하지만 메이븐 프로젝트의 가장 큰 단점은 의존성 충돌이다. 프로젝트에서 사용하는 서로 다른 두 라이브러리가 같은 라이브러리의 다른 버전을 사용할 경우 메이븐은 두 버전 중 하나만 선택해서 로드한다. 의존성 충돌(Dependency Conflict)이라는 이런 상황에 놓일 경우 운이 좋으면 두 버전이 호환되어 문제가 없겠지만, 운이 나쁘면 호환되지 않는 쪽에서 NoSuchMethodException이 발생하거나 아예 동작이 달라지는 경우도 발생한다. 메이븐 프로젝트를 관리하다보면.. 2023. 3. 17.
[Mac] 맥에 Maven 설치하기 macOS에 개발환경을 세팅하고 있다. 자바 개발에 필요한 메이븐(Maven)을 설치하자. 우선 메이븐을 설치하기 위해서 Homebrew를 설치해야한다. 다음 포스트를 참고해서 Homebrew를 설치하면 된다. M1 Pro 맥북에 Git 설치하기, Homebrew 설치하기 개발용 노트북으로 M1 Pro 맥북 프로를 받았다. git을 설치해보자. 우선 git을 설치하기 위해서 맥을 위한 패키지 관리 소프트웨어인 Homebrew를 설치해야한다. 이미 설치되어 있는 경우면 Homebrew 설치 hbase.tistory.com homebrew를 설치하고 mvn을 설치하자. brew install mvn brew install을 이용해서 간단하게 메이븐을 설치할 수 있다. homebrew가 알아서 다운로드하고 잘.. 2023. 3. 16.
[Maven] Maven으로 테스트 케이스 실행하는 방법 메이븐 프로젝트에 정의되어 있는 테스트 케이스는 다음 명령으로 실행할 수 있다. $ mvn test 메이븐의 test 페이즈를 이용해 target/test-classes에 컴파일 되어 있는 Unit 테스트 클래스들을 실행하고, 실행 결과물을 target/surefire-reports 디렉토리에 생성한다. 만약 전체 테스트의 실행 대신 일부 테스트 파일에 있는 테스트 케이스들을 테스트해보고 싶으면 다음과 같이 실행하면 된다. $ mvn -Dtest=테스트클래스 test $ mvn -Dtest=테스트클래스1,테스트클래스2 test 이렇게 실행하면 테스트클래스에 정의되어 있는 테스트 케이스들만 실행한다. 프로젝트 전체 테스트 케이스 중 일부가 실패해서 반복적으로 실행해야할 경우 유용하다. 만약 특정 테스트클래.. 2022. 7. 25.
윈도우에 Maven 설치하는 방법 윈도우 환경에 Maven을 설치해보자. 목차 Maven 설치 우선 Maven 다운로드 페이지로 접속한다. 다운로드 페이지 : https://maven.apache.org/download.cgi Maven – Download Apache Maven Downloading Apache Maven 3.8.6 Apache Maven 3.8.6 is the latest release and recommended version for all users. The currently selected download mirror is https://dlcdn.apache.org/. If you encounter a problem with this mirror, please select another mirror. I mav.. 2022. 6. 20.
[Maven] 아파치 메이븐(Apache Maven) 설치하기 아파치 메이븐(Apache Maven)은 자바 언어로 개발하는 프로젝트를 관리하기 위해 사용하는 오픈소스 소프트웨어다. 메이븐을 이용하면 POM(Project Object Model) 파일을 통해 프로젝트의 의존성 관리와 구성 컴포넌트를 쉽게 관리할 수 있다. 아파치 메이븐을 설치하기 위해서는 두 가지 방법이 있다. yum 패키지 관리자를 이용한 방법과 공식 사이트를 통해 다운로드하는 방법이다. yum을 이용한 설치 CentOS 등 레드헷 계열의 리눅스에서 패키지 관리자로 사용되는 yum을 통해 메이븐을 쉽게 설치할 수 있다. 이 때, yum 명령은 sudo 권한으로 실행해야한다. $ sudo yum install maven 간단하게 설치된다. yum을 이용해 메이븐을 설치할 경우 패키지 관리자가 적당한.. 2021. 12. 7.
[Maven] 메이븐 오프라인 모드 메이븐에는 '오프라인 모드(Offline mode)'라는 것이 있다. 금융망 같이 보안이 철저해야하는 곳은 오픈되어 있는 인터넷을 사용할 수 없는 경우가 많다. 프로젝트를 진행하면서 필요한 라이브러리를 빌드하는 그때그때 인터넷을 통해 다운로드하는게 제일 편하지만 인터넷을 사용할 수 없는 환경에서는 불가능하다. 이럴 때를 위해서 메이븐은 오프라인 모드라는 것을 제공한다. 필요한 라이브러리들을 미리 로컬에 다운로드해뒀다가 빌드할 때 오프라인 모드를 켜면 인터넷이 아닌 로컬에 있는 저장소에서 라이브러리들을 찾아쓰게 된다. 메이븐 오프라인 모드 준비 메이븐의 오프라인 모드를 사용하기 전에 필요한 라이브러리들을 미리 다운로드해야한다. $ mvn dependency:go-offline 메이븐의 'go-offline.. 2021. 11. 16.
[Java] Maven 빌드시 "warning: [options] bootstrap class path not set in conjunction with 1.7" 메이븐(Maven) 프로젝트를 빌드할 때, 다음 경고 메시지가 출력되는 경우가 있다. "warning: [options] bootstrap class path not set in conjunction with 1.7" 메이븐 프로젝트에서 사용한 자바 버전과 빌드할 때 사용한 자바 버전이 다른 경우에 발생한다. 예를 들어 JDK 1.7 버전 기준으로 메이븐 프로젝트 코드가 작성되었다고 하자. 만약 접속한 환경에서 JAVA_HOME이 JDK 1.8 경로를 가리키고 있으면 메이븐 프로젝트와 자바 버전이 맞지 않게 된다. JDK 버전을 여러개 사용하는 경우는 생각보다 흔하다. 해결 방법으로는 메이븐 빌드를 할 때, 메이븐 프로젝트에 명시되어 있는 자바 버전으로 JAVA_HOME 환경변수를 맞춰주면 된다. 2021. 6. 28.
[Maven] 'Received fatal alert: protocol_version', 'peer not authenticated' 에러 해결방법 개발서버의 환경이 바뀌는 경우 '메이븐(Maven)'이 'Received fatal alert: protocol_version', 'peer not authenticated'에러를 발생시키면서 실패하는 경우가 있다. 다음과 같은 에러 메시지를 출력하면서 실패하게 된다. ... [ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5: Could not transfer artifact org.apache.. 2021. 5. 5.