지금까지 우리 회사에서 Ant를 사용했습니다. 응용 프로그램을 클라이언트에 보내려 할 때마다 우리는 모든 jar 라이브러리와 Ant 자체 및 모든 배치 코드를 간단한 배치 파일과 함께 패키지화 한 특수 Ant 스크립트를 실행합니다.Maven으로 자체 포함 된 소스 릴리스 만들기
그런 다음 클라이언트는 네트워크 액세스가없는 컴퓨터 (Ant도 아님)에 파일을 저장하고 배치 파일을 실행할 수 있습니다. 컴퓨터에 유효한 JDK가있는 한 배치 스크립트는 jar를 사용하여 모든 코드를 컴파일하고 최종적으로 응용 프로그램 서버의 클라이언트가 배포하는 WAR/EAR을 작성합니다.
최근에 우리는 메이븐 2로 마이그레이션했습니다.하지만 같은 일을 할 수있는 방법을 찾지 못했습니다. 나는 Maven 어셈블리 플러그인을 보았지만 소스 배포본이나 바이너리를 생성한다. 우리의 시나리오는 소스 코드가 포함되어 있기 때문에 사실 믹스이지만 우리가 사용하는 라이브러리의 바이너리 항아리 (예 : Spring, Hibernate)
따라서 Maven을 사용하여 자체 포함 된 어셈블리/릴리스/패키지를 만들 수 있습니다 전혀 네트워크 액세스가없는 컴퓨터에서 실행 ??? 즉, 모든 라이브러리가 내부에 포함되어야합니다.
Maven 자체가 내부에 포함되어있는 경우 추가 보너스이지만 이것이 엄격한 요구 사항은 아닙니다. 최종 패키지는 시스템 관리자가 쉽게 수행 할 수있는 하나의 명령으로 쉽게 컴파일해야합니다.
나는 이것에 대한 내 자신의 메이븐 플러그인을 쓰려고 생각하고 있었지만 누군가가 이미이 문제를 겪었다 고 생각합니다.
니스! 나는 개미에 대해 몰랐다 : 개미 – kazanaki