Maven 프로젝트 의 Maven Dependencies 해결 방법 에 대한 상세 한 설명
7207 단어 MavenDependencies모자라다
그러나 pom.xml 파일 에 추 가 된 의존 jar 패키지 도 프로젝트 에 자동 으로 다운로드 되 지 않 습 니 다.update Project 도 마찬가지 입 니 다.그래서 인터넷 에서 많은 방법 을 찾 았 습 니 다.시도 해 보 았 지만 소 용이 없 었 습 니 다.결국 자신의 pom.xml 파일 을 보 니 의존 하기 전에
2.인터넷 에서 Maven Dependencies 파일 의 부족 을 해결 하 는 다른 방법:
첫 번 째:Maven 지원 이 켜 지지 않 았 습 니 다.이 경우 Eclipse 가 자체 적 으로 가 져 온 Maven 이나 자신 이 설치 한 Maven 은 서 비 스 를 열지 않 습 니 다.
해결 방법:Maven 프로젝트-->Maven-->Dependency Management 사용
(일부 Maven 버 전이 Enable Dependency Management 옵션 이 없 을 수도 있 습 니 다)
두 번 째:classpath 파일 문제 나.project 파일 문제:
해결 방법:
(1).classpath 파일 에 다음 코드 를 추가 합 니 다.
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
(2).project 파일 의
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
세 번 째:프로젝트-->properties-->Deployment Assembly-->Add-->java build path Entries-->Maven Dependencies--Finish네 번 째:프로젝트 는 비 maven 프로젝트(상황 이 적 음)
해결 방법:오른쪽 단추 항목-->configure-->Convert to Maven Project
3.dependency Management 와 dependencies 의 차이 점:
이 부분 은 블 로그 에서 이전 되 었 습 니 다.
앞에서 문제 가 발생 한 것 은 dependency Management 와 dependencies 의 차 이 를 잘 알 지 못 했 기 때문에 이 부분 은 주로 pom.xml 파일 에서 이 두 탭 의 차 이 를 요약 합 니 다.
1.Depency Management 의 응용 장면:
우리 의 프로젝트 모듈 이 많 을 때 우 리 는 Maven 관리 프로젝트 를 사용 하 는 것 이 매우 편리 하고 구축,문서,보고,의존,scms,발표,배포 방법 을 관리 하 는 데 도움 을 줍 니 다.편리 하 게 코드 를 컴 파일 하고 의존 관리,바 이 너 리 라 이브 러 리 관리 등 을 할 수 있 습 니 다.
우리 의 모듈 이 매우 많 기 때문에 우 리 는 또 한 층 을 추상 화하 여 itoo-base-parent 를 추출 하여 하위 프로젝트 의 공공 의존 을 관리한다.프로젝트 의 정확 한 운행 을 위해 서 는 모든 하위 프로젝트 가 의존 항목 의 통 일 된 버 전 을 사용 하도록 해 야 합 니 다.각 항목 의 의존 항목 과 버 전이 일치 해 야 테스트 와 발표 가 같은 결 과 를 보장 할 수 있 습 니 다.
프로젝트 맨 위 에 있 는 POM 파일 에서 dependency Management 요 소 를 볼 수 있 습 니 다.이 요 소 를 통 해 jar 패키지 의 버 전 을 관리 하고 하위 항목 에서 표시 되 지 않 고 의존 하 는 버 전 번 호 를 참조 하도록 합 니 다.Maven 은 dependency Management 요 소 를 가 진 프로젝트 를 찾 을 때 까지 부자 차원 을 따라 위로 올 라 갑 니 다.그리고 이 dependency Management 요소 에서 지정 한 버 전 번 호 를 사용 합 니 다.
우리 프로젝트 의 응용 을 살 펴 보 자. pom 상속 관계 도:
itoo-base-parent(pom.xml)
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
<version>${org.eclipse.persistence.jpa.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>${javaee-api.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
itoo-base(pom.xml)
<!-- -->
<parent>
<artifactId>itoo-base-parent</artifactId>
<groupId>com.tgb</groupId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../itoo-base-parent/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>itoo-base</artifactId>
<packaging>ejb</packaging>
<!-- -->
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
이렇게 하 는 장점:프로젝트 의 버 전 번 호 를 통일 적 으로 관리 하고 응용 하 는 각 프로젝트 의 의존 과 버 전이 일치 해 야 테스트 와 발표 가 같은 성 과 를 확보 할 수 있 기 때문에 최상 위 pom 에서 공 통 된 의존 관 계 를 정의 할 수 있 습 니 다.또한 사용 하 는 모든 하위 항목 에서 버 전 번 호 를 설명 하 는 것 을 피 할 수 있 습 니 다.이렇게 업그레이드 하거나 다른 버 전 으로 전환 하려 면 부모 용기 에서 만 업데이트 하고 키 항목 의 수정 이 필요 하지 않 습 니 다.키 항목 에 다른 버 전 번호 가 필요 할 때 dependencies 에서 버 전 번 호 를 설명 하면 됩 니 다.하위 클래스 는 하위 클래스 성명 의 버 전 번 호 를 사용 하고 부모 클래스 버 전 번 호 를 계승 하지 않 습 니 다.2、Dependencies:
dependency Management 에 비해 모든 성명 이 dependencies 에서 의 의존 도 는 자동 으로 도입 되 고 모든 하위 항목 에 의 해 계승 되 는 것 을 기본 으로 합 니 다.
3.구별:
(1)dependencies : dependencies 에 있 는 모든 의존 도 를 자동 으로 도입 하고 모든 하위 항목 에 의 해 계승 되 는 것 을 기본 으로 합 니 다.프로젝트 에 의존 항목 을 쓰 지 않 으 면 부모 프로젝트 계승(속성 전부 계승)에서 부모 프로젝트 dependencies 에 의존 항목 을 설명 합 니 다.
(2)dependencyManagement : 이 탭 은 성명 의존 일 뿐 도입 이 이 루어 지지 않 기 때문에 하위 항목 에 표시 해 야 할 성명 에 의존 해 야 합 니 다.하위 프로젝트 에 의존 하지 않 으 면 부모 프로젝트 에서 계승 되 지 않 습 니 다.하위 항목 에 이 의존 항목 을 쓰 고 구체 적 인 버 전이 지정 되 지 않 아야 부모 항목 에서 이 항목 을 계승 할 수 있 으 며,version 과 scope 는 부모 pom 에서 읽 을 수 있 습 니 다.또한 하위 항목 에 버 전 번 호 를 지정 하면 하위 항목 에서 지정 한 jar 버 전 을 사용 합 니 다.
(3)dependency Management 중의 dependencies 는 프로젝트 의 의존 항목 에 영향 을 주지 않 습 니 다.독립 dependencies 요 소 는 프로젝트 의 의존 항목 에 영향 을 줍 니 다.외부 dependencies 요소 에 버 전 정 보 를 가리 키 지 않 았 을 때 dependency Management 의 dependencies 요소 가 작 동 합 니 다.하 나 는 프로젝트 의존 입 니 다.하 나 는 Maven 프로젝트 의 다 중 모듈 상황 일 때 관리 제어 에 의존 합 니 다.
Maven 프로젝트 에 Maven Dependencies 솔 루 션 이 부족 하 다 는 것 을 상세 하 게 설명 하 는 글 은 여기까지 입 니 다.Maven Dependencies 내용 이 부족 하 다 면 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Nexus에서 자체 Maven 리포지토리를 구축하고 sbt에서 사용Scala 현장에서 프로젝트 종속성을 폐쇄된 Maven 리포지토리로 관리할 수 없는가 하는 이야기가 오르기 때문에, 일단 로컬상에서 간이로 검증한 내용을 비망으로 남깁니다. 프로덕션 용 리포지토리 서버는 별도로 현장...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.