pom.xml 에서"import"의 scope 를 사용 하여 Maven 프로젝트 의 단일 계승 문 제 를 해결 합 니 다.

2773 단어 maven
테스트 환경 maven 3.3.9
SpringBoot 애플 리 케 이 션 을 할 때 다음 과 같은 코드 가 있 을 것 입 니 다.

	org.springframework.boot
	spring-boot-starter-parent
	1.3.3.RELEASE


부모 모듈 을 계승 한 다음 에 해당 하 는 의존 도 를 도입 합 니 다.
만약 에 제 가 물 려 받 고 싶 지 않 거나 여러 개 를 물 려 받 고 싶 습 니 다.어떻게 하 시 겠 습 니까?
Maven 의 계승 은 자바 의 계승 과 마찬가지 로 다 중 계승 을 실현 할 수 없다 는 것 을 잘 알 고 있 습 니 다.만약 에 10 개,20 개,심지어 더 많은 모듈 이 같은 모듈 에서 계승 된다 면 우리 의 이전 방법 에 따라 이 부모 모듈 의 dependency Management 는 대량의 의존 을 포함 할 것 입 니 다.이러한 의존 도 를 더욱 명확 하 게 관리 하려 면 불가능 합 니 다.import scope 의존 도 는 이 문 제 를 해결 할 수 있 습 니 다.의존 적 인 pom 을 관리 하기 위해 dependency Management 를 따로 두 고 의존 적 인 모듈 에서 import scope 를 통 해 의존 하면 dependency Management 를 도입 할 수 있 습 니 다.예 를 들 어 관리 에 의존 하 는 pom 을 쓸 수 있 습 니 다. 

	4.0.0
	com.test.sample
	base-parent1
	pom
	1.0.0-SNAPSHOT
	
		
			
				junit
				junit
				4.8.2
			
			
				log4j
				log4j
				1.2.16
			
		
	


그리고 저 는 비 계승 방식 으로 이 의존 관리 설정 을 도입 할 수 있 습 니 다.

	
		
			com.test.sample
			base-parent1
			1.0.0-SNAPSHOT
			pom
			import
		
	

 

	junit
	junit


	log4j
	log4j


이렇게 하면 부모 모듈 의 pom 은 매우 깨끗 하고 전문 적 인 packaging 이 pom 으로 의존 을 관리 하 며 대상 을 대상 으로 디자인 하 는 단일 한 직책 원칙 에 부합된다.그 밖 에 우 리 는 이러한 의존 관리 pom 을 여러 개 만들어 더욱 세분 화 된 방식 으로 의존 관 리 를 할 수 있다.이 는 상속 보 다 는 대상 디자인 에 조합 을 사용 하 는 것 과 비슷 한 맛 이다.
그렇다면 어떻게 이 방법 으로 SpringBoot 의 그 계승 문 제 를 해결 할 수 있 을 까?
설정 은 다음 과 같 습 니 다: 

	
		
			org.springframework.boot
			spring-boot-dependencies
			1.3.3.RELEASE
			pom
			import
		
	

 

	
		org.springframework.boot
		spring-boot-starter-web
	


이렇게 설정 하면 자신의 프로젝트 에 SpringBoot 의 module 을 계승 하지 않 고 자신의 프로젝트 의 module 을 계승 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기