Maven을 처음 사용하고 MyEclipse에 maven을 구성한 Java 기반 웹 프로젝트가 있습니다.
내가 어떤 자바 파일을 수정 한 경우 이제 그럼 내가 어떻게해야합니까 Run as -> Mvn install
나 Mvn package
?
답변
에서 http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
package
: 컴파일 된 코드를 가져 와서 JAR과 같은 배포 가능한 형식으로 패키지하십시오.
install
: 패키지를 로컬 저장소에 설치하여 로컬의 다른 프로젝트에서 종속성으로 사용
따라서 귀하의 질문에 대한 답변은 로컬 리포지토리에 설치 하려는지 여부에 달려 있습니다. 목표 단계 스택에서 패키지가 높아지기 때문에 설치도 패키지를 실행합니다.
답변
mvn install
가장 자주 사용되는 옵션입니다.
mvn package
maven 빌드 프로세스에서 일부 문제를 디버깅하는 경우에만 거의 사용되지 않습니다.
참조 : http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
참고 mvn package
만 jar 파일을 생성합니다.
mvn install
그렇게 할 것입니다 및 다른 코드는 그 항아리에 의존하는 경우 적절한 위치에 파일을 (등 수업) 항아리를 설치합니다.
나는 보통을 mvn clean install
; 그러면 target
디렉토리가 삭제 되고 해당 위치의 모든 jar이 다시 작성됩니다.
청결은 때때로 방해가 될 수있는 불필요한 물건을 제거하는 데 도움이됩니다.
오히려 디버그 (때때로) 항상 새로 시작하십시오.
답변
답변
또한 프로젝트가 서로 의존하는 여러 모듈로 구성된 경우 “패키지”대신 “설치”를 사용해야합니다. 그렇지 않으면 빌드가 실패하고 설치 명령을 사용할 때 원인이되며 모듈 A가 패키지됩니다. 로컬 리포지토리에 배포 한 다음 모듈 B가 모듈 A를 종속성으로 필요로하는 경우 로컬 리포지토리에서 액세스 할 수 있습니다.
답변
당신이 있다면 하지 사용하여 원격 (artifactory 같은) 저장소를, 평범한 구식를 사용합니다 :
mvn clean install
꽤 오래된 주제이지만 AFAIK, 팀과 항아리를 공유하기 위해 자체 저장소 (예 : 인공물 포함)를 실행하는 경우 사용할 수 있습니다
mvn clean deploy
대신에.
이런 방식으로 지속적인 통합 서버는 모든 종속성이 원격 저장소로 올바르게 푸시되도록 할 수 있습니다. 하나를 놓치면 mvn은 CI 로컬 m2 저장소에서 찾을 수 없습니다.
답변
package-컴파일 된 코드를 가져 와서 JAR 또는 WAR 파일과 같은 배포 가능한 형식으로 패키지합니다. install-로컬 저장소에 패키지를 설치하여 로컬의 다른 프로젝트에서 종속성으로 사용
답변
적절한 방법은 mvn package
당신이 당신의 빌드의 핵심 부분이 제대로 일을했다면 다음 로컬 저장소에서 패키지를 설치할 필요가 없습니다.
또한 Travis를 사용하는 $HOME.m2/repository
경우 자신의 프로젝트에 패키지를 사용하는 경우 에는 의존하지 않기 때문에 종속성을 “캐시”할 수 있습니다 .
실용적으로 당신이 시도하려고 mvn site
하면 일반적으로 mvn install
전에해야합니다. 둘 중 하나에 버그가 너무 많 site
거나 유지 관리가 잘되지 않는 수많은 플러그인입니다.