2014-09-03 2 views
0

최근에 Java 응용 프로그램을 빌드하기 위해 maven을 사용하기 시작했습니다. 메이븐이 종속 항아리를 다운로드 할 때 메이븐이 자동으로 다운로드하는 항아리의 새로운 버전으로 내 (수정되지 않은) 코드가 빌드 될 때 기능이 깨질 가능성이 있습니까? 가능한 경우 해결 방법은 무엇입니까?종속 항아리를 자동으로 다운로드하는 Maven

+0

Maven은 자동으로 새로운 버전을 다운로드하지 않습니다. 정확히 어떤 버전을 사용해야하는지 명시해야합니다. 아마도 다른 종속성을 통해 자동으로 가져 오는 전이 종속성에 대해 이야기하고 있습니까? – Gimby

답변

0

네, 그렇습니다. 분명히 코드가 개선되고 새롭고 지원되는 API로 업데이트되지 않는 '코드 썩음 (code rot)'을 피하기를 원하지만 때로는 의존성이 부적절한시기에 인터페이스를 변경하는 경우가 있습니다.

당신이 의존하는 특정 버전에 대해보다 미세한 제어를 제공하는 여러 개의 plugins이 있습니다. 고정 된 버전에 대한 의존성을 최소화하여 정기적으로 버그를 수정하고 종속성을 업데이트하는 것이 좋습니다.

+0

이 시나리오를 생각해보십시오. 일부 코드는 소스 리포지토리에 저장되어 있습니다. 예를 들어 플랫폼에 의존하지 않는 코드가 있다고 가정합니다. 수학 루틴, 문자열 조작 등 내가 정말 시간이 지남에 유지할 필요가 없습니다 그래서이 '코드 썩음'이 경우에 적용됩니다. 어떻게 코드를 체크 아웃하고 빌드하려고 시도했는지, 깨진 코드가 있는지를 알 수 있습니다. – pongapundit

+0

이것은 지속적인 통합/테스트 문제와 비슷하게 들립니다. 젠킨스 (Jenkins)는 그러한 일에 가장 적합한 도구가 될 것입니다. – caskey

관련 문제