0

내가 직면하고있는 문제에 대해 웹을 검색하려고했지만 어쩌면 내가 Google에 올바른 질문을하지 않을 수도 있습니다.IntelliJ IDEA에서 Java 파일의 종속성 충돌을 해결하려면 어떻게합니까?

다중 모듈 프로젝트에 IntelliJ IDEA를 사용하고 있습니다. 내 모듈 중 하나를 들어, 클래스 파일 중 하나가 고정 수입 사용 -

import static javax.ws.rs.core.Response.Status.Family.familyOf; 

큰 프로젝트 인을 내부의 repo에서하지만 IntelliJ에 종속성 "를 사용을 거부 어떤 이유로 다운로드 종속성 많이 있습니다 javax.ws.rs-api-2.0 "대신"jersey-core-1.8 "을 사용합니다. 이 때문에 "familyof"기호를 찾을 수 없다는 컴파일 오류가 발생합니다.

두 종속성 모두에서 Response.java를 조사한 결과 javax.ws.rs-api-2.0에는 있지만 java.net 종속성에는 familyof 메소드가 없지만 IntelliJ에는이 종속성이 사용되지 않는 것으로 나타났습니다. 이 문제를 어떻게 수정합니까? 우리 팀의 대부분의 개발자는 Eclipse를 사용하고 있으며이 문제가 없습니다. 나는 IntelliJ IDE에 익숙해 지려고 노력하고 있지만이 방법을 찾아 낼 수가 없다. 이와 관련하여 도움이된다면 많은 도움이됩니다.

PS -이 문제는 Eclipse IDE에서 발생하지 않습니다.

나는 아래에 언급 된 단계를 수행하여이 문제를 해결할 수
+1

당신과 당신의 동료는 maven과 POM을 사용해야합니다. 이 경우 귀하의 의존성이 자동으로 귀하를 위해 관리되며 이러한 상황은 발생하지 않습니다. IDE를 사용하여 종속성을 관리하는 경우 GUI를 사용하여 javax.ws.rs-api 종속성을 제거하고 jersey-core에 대한 종속성을 추가해야합니다. –

+0

우리는 maven과 POM을 사용합니다. 코드베이스는 회사의 내부 github repo에서 호스팅되므로 다른 사람들에게나 내가 왜 그렇게 작동하는지 궁금합니다. 나는 내가 알아낼 수없는 일부 인텔리 설정을 놓쳤습니다. 누군가 이클립스를 사용하고 있는데도이 문제가 보이지 않는다면 IntelliJ를 사용할 때 왜 그렇게 될까요? – user139386

답변

1

-

  1. 고토 "열기 모듈 설정"명령 + 아래쪽 키
  2. 선택 종속성 탭을 화살표
  3. 에서 위의 두 종속성
  4. 검색 목록
  5. "javax.ws.rs-api-2.0"종속성을 이동하여이 종속성이 "jersey-core-1.8"종속성 이상인지 확인하십시오.

나는 이것이 영구적 인 해결책이라고 생각하지 않지만 작동하는 것으로 보입니다. Java/Mave/IntelliJ에 대한 심층적 인 지식을 가진 사람이이 질문에 대한 답을 얻을 수 있다면 좋을 것입니다!

0

pom.xml의 종속성을 섞어서 Maven으로 매번 올바른 결과를 얻을 수 있으며 우선 순위가 높은 종속성이 종속성 목록에서 먼저 선언되었는지 확인하십시오. 예, pom.xml에서 의존성이 선언되는 순서는 중요합니다!

여러분 모두 동일한 Maven 버전을 사용하고 있다면 일관된 결과가 있어야합니다.