다른 두 모듈 (A, B)에 의존하는 war 모듈 (C)이 있습니다. 내가 A를 변경하고 C mvn package
에 대해 리 패키징을 수행하면 B가 재 컴파일되고 (아무 것도 변경되지 않지만) 많은 시간이 소요됩니다. maven에게 건너 뛰라고 말하면 어떻게됩니까? Tks.maven, 패키지를 다시 컴파일하지 않고 패키지
답변
B
을 해당 상위 POM에서 제외하여 프로젝트에서 제거하십시오. 개발 프로필에서 그렇게 할 수 있습니다. 이렇게하면 매번 재 컴파일되지 않고 maven 캐시에서로드됩니다.
예, 그게 내가하고있는 일이지만 더 좋은 방법을 찾고 있는데요. 부모 POM 파일을 바꾸어 버린 것을 잊어 버렸을 때, 저의 동료들이 저에게 소리를 질렀습니다 :-p –
새로운 컴파일러 플러그인 버전 3.1을 사용하십시오. 그것은 나를 위해 놀랍도록 작동하는 점진적인 컴파일을 수행합니다. 모듈에서 변경 사항을 발견하면 완전한 컴파일을 수행하고, 그렇지 않으면 아무것도 컴파일하지 않습니다. 버전을 업데이트하는 것보다 할 수있는 다른 아무것도 사실 때문에
http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html
증분 모드는 기본입니다!
물론 미리 정리해서는 안됩니다. 이것은 항상 전체 컴파일로 이어질 것입니다.
덕분에, 잘 작동 했어요. 어쩌면 또 다른 후속 질문 : 내가 말한 것을 볼 수 있습니다 : 변화가 감지, 재 컴파일 ...하지만 일부 모듈에서는 정말 아무것도 (나는 그 모듈의 코드 파일을 열지 않았으므로 절대적으로 확신합니다), 어떤 아이디어 Maven 컨텍스트에서 "변경"되는 것은 무엇을 의미합니까? –
@Tungmaile : 플러그인은 스마트 알고리즘을 적용하지 않습니다. 모듈 B에서 뭔가를 변경하고 A가 그것에 의존하면 두 가지를 모두 빌드합니다. 그 변화가 A.에 영향을 미치는지는 중요하지 않습니다. 이것은 또한 힘입니다. Jenkins에서 실행할 수 있으며 "스마트 한"증분 컴파일과 관련하여 문제가 없습니다. – sorencito
경고! 2013 년 11 월에 maven-compiler-plugin의 증분 컴파일을 평가했을 때 사실 B가 변경된 모듈 A를 다시 빌드하지 않았습니다. 기본적으로 증분 컴파일이 끊어 졌음을 의미하며이를 활성화하는 것은 위험합니다. 또한'useIncrementalCompilation = true'는 실제로 https://issues.apache.org/jira/browse/MCOMPILER-209 때문에 비활성화됩니다. –
-pl 옵션을 사용할 수도 있습니다. Pl은 "프로젝트 목록"을 의미합니다. 당신은 깨끗한
이는이 두 프로젝트를 빌드 할를 설치
MVN -pl myProjA, myProjB
를 입력합니다. 그러나 빌드 할 때 필요한 프로젝트를 감독 할 수도 있습니다. 은 내가 받는다는 문서에이를 찾을 수 없습니다,하지만 난 너무,있을거야.- 1. Maven - 컴파일하지 않고 설치
- 2. 프로젝트를 다시 컴파일하지 않고 현지화
- 3. 다시 컴파일하지 않고 여러 파일이 포함 된 Sublime Text 2 패키지 개발
- 4. 다시 컴파일하지 않고 연결 문자열 변경
- 5. 다시 컴파일하지 않고 Qt5에서 Qt4 위젯 사용
- 6. Java에서 다시 컴파일하지 않고 구현을 추가 하시겠습니까?
- 7. 다시 컴파일하지 않고 삽입 할 EJB 선택
- 8. C# 프로젝트를 다시 컴파일하지 않고 DLL을 업데이트하십시오.
- 9. FLA를 다시 컴파일하지 않고 SWF를 업데이트하는 방법
- 10. VS2005에서 다시 컴파일하지 않고 바이너리 패치하기
- 11. 다시 컴파일하지 않고 디버그 응용 프로그램
- 12. 다시 컴파일하지 않고 공기 응용 프로그램 배포
- 13. 다시 컴파일하지 않고 dll의 설정 값을 변경하십시오.
- 14. 다시 컴파일하지 않고 CORBA 인터페이스 변경
- 15. 다시 컴파일하지 않고 PostgreSQL의 NAMEDATALEN을 발생 시키십시오.
- 16. 패키지를 삭제하지 않고 패키지 Oracle을 변경하는 방법
- 17. 패키지를 설치하지 않고 R 패키지 종속성을 나열하십시오.
- 18. Maven Tomcat : 불필요하게 패키지를 다시 배포하십시오.
- 19. R 패키지를 gcc로 컴파일하지 못했습니다.
- 20. Maven : 자동으로 패키지 생성
- 21. 권장 Maven 패키지 구조?
- 22. Eclipse Maven 빌드 패키지
- 23. PHP와 HTML Tidy - 컴파일하지 않고?
- 24. 컴파일하지 않고 웹 서비스
- 25. Maven : 의존성으로 패키지를 찾지 못했습니다.
- 26. 델파이 XE : 가짜 "패키지를 다시 컴파일하지 않아야합니다."패키지를 빌드 할 때 "F2084 내부 오류 : U10346"오류가 발생합니다.
- 27. 미리 컴파일하지 않고 asp.net mvc
- 28. 새로 설치된 패키지를 사용할 때마다 새로 설치된 패키지를 다시 컴파일하지 않으려면 어떻게해야합니까?
- 29. 패키지 관리자를 통해 패키지를 업로드하려고합니다.
- 30. gcc를 다시 컴파일하지 않고 ld에 전달되는 옵션을 수정하는 방법
어떻게 B가 다시 컴파일된다는 것을 알고 있습니까? 또한 B는 C의 하위 모듈입니까? – yair
A와 B 사이에 의존성이 있습니까? –
@yair 로그에서 볼 수 있기 때문에 컴파일하고 테스트를 진행합니다. 예 B는 C의 하위입니다. –