Intellij IDEA가 모든 Maven 종속성을 다시 읽도록 강제 실행


297

intellij 아이디어가 pom 파일에 지정된 모든 종속성을 다시 읽거나 업데이트하도록 강제하는 방법은 무엇입니까?

답변:


354

Ctrl+ Shift+ A를 눌러 동작을 찾고 "다시 가져 오기"를 입력하면 "모든 가져 오기 프로젝트 다시 가져 오기"가 나타납니다.

Mac에서는 대신 + +를 A사용하십시오.


1
하나의 프로젝트에 5 개의 모듈 (모두 maven 기반)이 있다고 가정 해 보겠습니다. 이 명령은 모든 모듈, 선택한 모듈 또는 프로젝트가 실행될 때 첫 번째 모듈에만 적용됩니까?
slartibartfast

이것이 바뀌 었습니까? 나는 메이븐에서 2017.1에 다시 가져 오기가 표시되지 않습니다
Winnemucca

1
@ Winnemucca 나는 2017.2에 방금했습니다. 지금 끝나기를 기다리고 있습니다.
mrClean

1
Maven 플러그인을 활성화해야했습니다.
codefreak

1
@Winnemucca pom을 마우스 오른쪽 버튼으로 클릭하고 드롭 다운에서 Maven으로 이동 한 다음 다시 가져 오기를 선택하십시오.
jones-chris

125

"Maven 프로젝트"탭 / 창을 열고 왼쪽 상단 모서리에있는 "모든 Maven 프로젝트 다시 가져 오기"를 클릭하면 리포지토리에서 모든 종속성이 다시로드됩니다. 상태 표시 줄에 프로세스가 표시됩니다.

이것이 제대로 작동하지 않는다고 생각할 수있는 것은 무엇입니까? 어쩌면 저장소에서 종속성을로드 할 수 없습니까?


1
우리는 지속적인 개발을 위해 스냅 샷이 아닌 버전을 사용하는 습관을 잃었고, 프로젝트 간 의존성이 때때로 실패합니다.
kubek2k

1
이 문제는 maven에 달려 있습니다. Maven은 SNAPSHOT의 업데이트 만 확인합니다. 정의에 따라 비 SNAPSHOT 버전은 변경되지 않으므로 maven은 로컬 리포지토리에서 이보다 최신 버전을 확인할 필요가 없습니다. (아주 무례한) 해결책은 maven을 호출하기 전에 로컬 저장소에서 라이브러리를 제거하는 것입니다. 그런 다음 라이브러리를 다시로드해야합니다.
magomi

9
다시
가져 오기

부모 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Maven-> Reimport를 수행하고 모든 자식의 종속성을 업데이트하기를 희망했지만 그렇지 않았습니다. 솔루션 주셔서 감사합니다!
botchniaque

6
"Maven 프로젝트"탭 / 창을 찾으려면보기> 도구 창> Maven 프로젝트
Kevin Wheeler

64

IntelliJ가 버전 번호가 변경되지 않은 경우에도 새로운 버전의 종속성을 확인하도록 알려주는 유용한 설정도 있습니다. 로컬 메이븐 저장소와 스냅 샷 프로젝트가 몇 차례 업데이트되었지만 버전 번호는 동일하게 유지되었습니다. 문제는 IntelliJ / Maven이 고정 버전 번호로 인해이 프로젝트를 업데이트하지 않았다는 것입니다.

버전 번호가 변경되지 않았지만 변경된 종속성을 확인하려면 "Maven Projects"탭으로 이동하여 "Maven settings"를 선택하고 "Always update snapshots"를 활성화하십시오.


2
하아! JAVA 프로젝트의 자동 업데이트 ... 이것이 항상 승자가 아니라고 말해야 할 것입니다. 그리고 Maven 3 이상에서
찌그러

@beauXjames .. 이것은 저에게 효과적이지 않지만 정확히 같은 문제에 직면하고 있습니다. 이 문제를 해결하는 방법.
Sathesh

1
나는 종종 로컬 리포지토리 ({user} \. m2 \ ...) 디렉토리로 이동하여 프로젝트와 관련된 것을 삭제 한 다음 설치 프로세스를 종료하고 처음부터 다시 가져와 버전 충돌이
없도록합니다.

보낸 사람 help: "IntelliJ IDEA가 동기화시 스냅 샷을 업데이트하도록하려면이 확인란을 선택하십시오." 다시 말해 완전 자동 기능은 아닙니다 Synchronize(마우스 오른쪽 버튼 클릭 메뉴 또는 Ctrl-Alt-Y).이 옵션을 활성화하면 업데이트 된 SNAPSHOT버전 을 가져옵니다 . 경고 : 다른 미묘한 부분이있을 수 있습니다 Import Changes. 지금까지는 완벽하게 재현 할 수없는 것 같습니다. 어쩌면 그것은 모두 내 상상에 있었을 것입니다. 항상 작동하는 것처럼 보이는 reimport것은 다른 답변에서 제안한 것처럼 가득 합니다.
nobar

36

IntelliJ IDEA 14.0의 경우

프로젝트> [프로젝트 이름]> 마우스 오른쪽 버튼을 클릭> Maven> 다시 가져 오기


17

다시 가져 오기가 작동하지 않으면 (즉, pom 업데이트 후 이전 버전의 종속성을 제거하지 않음) 한 번 더 가능성이 있습니다.

  • 프로젝트 설정을 엽니 다 (CTRL + SHIFT + ALT + S).
  • 모듈에서 다시 가져 오려는 모든 라이브러리 (예 : 중복)를 삭제하십시오.
  • IDEA는 일부는 여전히 사용 중임을 경고합니다.
  • 적용하고 확인을 선택하십시오
  • 그런 다음 모든 maven 프로젝트 다시 가져옵니다.


9

이 명령을 실행 mvn -U clean install


3
이것은 솔루션이지만 CLI에서 수행해야합니다. 문제는 IDEA 내부에서 수행하는 것입니다.
talonx

IDE에서 CLI 또는 터미널을 열지 않고도 maven 목표를 실행하고 위의 명령을 사용할 수 있습니다.
Babajide Apata

2
그런 종류의 아이디어는 IDEA에서 maven 통합을한다는 목적을 상실합니다.
talonx 2018 년

1
IDEA에는없는 -U 옵션에 대해 이야기하고 있습니다. "다시 가져 오기"옵션은 소리가 들리지만 그렇지 않습니다.
talonx

1
나는 당신이 maven 목표를 입력하고 실행하는 것을 말하는 것을 보았습니다.이 경우 가능합니다. 그러나 오른쪽의 내장 메뉴 ( "Maven Projects")에 -U가없는 것을 언급하고있었습니다.
talonx 2018 년

3

IntelliJ가 클래스를 컴파일 할 수 없어 프로젝트 간의 종속성이 누락되었다고 주장하는 문제가있었습니다. 이 질문에 대한 답변에서 제안한대로 프로젝트를 다시 가져와도 문제가 해결되지 않았습니다. 나를위한 해결책은 다음과 같습니다.

  1. 모든 프로젝트를 제거하십시오 (프로젝트 탭 / 루트 폴더를 마우스 오른쪽 버튼으로 클릭 / maven / 프로젝트 제거).
  2. 편집기를 닫습니다.
  3. 명령 행에서 maven으로 모든 프로젝트를 컴파일하십시오.
  4. 동일한 프로젝트에서 편집기를 엽니 다.
  5. maven에 프로젝트를 다시 추가하십시오 (maven 탭 / maven 프로젝트 추가 (녹색 +) / 루트 퐁 선택);

경고 : 일부 프로젝트에서는 maven 가져 오기 (maven 탭의 maven 설정 / 가져 오기 / VM 옵션)의 최대 메모리를 늘려야 할 수도 있습니다.



0

종속성에 버전 범위를 사용하는 경우 IntelliJ가 Maven 3을 사용하여 프로젝트를 가져와야합니다. 이 설정은 다음에서 찾을 수 있습니다 Settings > Maven > Importing > Use Maven3 to import project. 그렇지 않으면 SNAPSHOT 버전을 올바르게 가져 오지 못할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.