Maven 프로젝트 분석
프로젝트 의 지속 적 인 연구 개발,끊임없이 위 에 기능 을 추가 하고 특성 을 추가 하 며 새로운 프레임 워 크 와 구성 요 소 를 도입 합 니 다.jar 패 키 지 는 의존 도가 많 고 복잡 합 니 다.게다가 각종 변경 이 필요 합 니 다.이미 존재 하 는 기능 이 오프라인 이지 만 jar 패 키 지 는 아무 도 관리 하지 않 고 프로젝트 의 pom.xml 파일 에 의존 합 니 다.프로젝트 가 지속 되 는 시간 이 길 어 지면 프로젝트 포장 요구 메모리 가 많 고 시간 이 느 린 문제 가 자주 발생 합 니 다.프로젝트 에서 어떤 의존 이 유용 한 지,어떤 것 을 제거 할 수 있 는 지,한편 으로 는 포장 메모리 의 점용 이 많 고 시간 이 느 린 문 제 를 줄 이 고 다른 한편 으로 는 어린이 신발 을 연구 개발 하 는 강박 증 문 제 를 돌 볼 수 있 습 니 다.이 일 은 일정 을 잡 을 수 있다.
어떻게
Maven 프로젝트 라면 실행 이 간단 합 니 다.Maven 은 스스로 검사 도 구 를 제공 하고 명령 을 입력 하면 됩 니 다.
IDEA 에서 Terminal 창 으로 전환 하거나 명령 행 으로 해당 프로젝트 디 렉 터 리 를 열 고 직접 입력 합 니 다.
mvn dependency:analyze
콘 솔 출력 로 그 를 보고 이 두 부분 에 중점 을 두 십시오.
[WARNING] Used undeclared dependencies found:
[WARNING] com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile
[WARNING] com.fasterxml.jackson.core:jackson-databind:jar:2.9.9:compile
[WARNING] io.jsonwebtoken:jjwt:jar:0.9.0:compile
[WARNING] org.apache.rocketmq:rocketmq-common:jar:4.5.2:compile
[WARNING] org.springframework:spring-beans:jar:5.1.8.RELEASE:compile
[WARNING] com.google.code.gson:gson:jar:2.8.0:compile
[WARNING] org.springframework.boot:spring-boot:jar:2.1.6.RELEASE:compile
[WARNING] com.fasterxml.jackson.core:jackson-core:jar:2.9.9:compile
[WARNING] org.springframework:spring-core:jar:5.1.8.RELEASE:compile
[WARNING] org.apache.rocketmq:rocketmq-remoting:jar:4.5.2:compile
[WARNING] Unused declared dependencies found:
[WARNING] org.projectlombok:lombok:jar:1.16.20:provided
[WARNING] org.springframework.boot:spring-boot-starter-test:jar:2.1.6.RELEASE:test
Used undeclared dependencies found간접 의존,즉 현재 프로젝트 프로젝트 의 pom.xml 에서 직접 설명 하지 않 았 습 니 다.이 의존 은 당신 이 설명 한 dependency 의 pom.xml 의존 으로 전 달 된 것 입 니 다.
예 를 들 어 org.apache.rocketmq:rocketmq-common:jar:4.5.2:copile 은 당신 이 이것 을 인용 한 것 입 니 다.
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>4.5.2</version>
</dependency>
Maven 은 원래 이렇게 사용 합 니 다.이 부분 을 pom.xml 에 복사 하 는 것 도 권장 하지 않 습 니 다.일반적으로 이 부분의 WARNING 은 무시 할 수 있 습 니 다.Unused declared dependencies found
의존 할 필요 가 없습니다.이것 은 우리 가 pom.xml 에서 이 jar 가방 의 의존 을 설명 하 였 으 나 프로젝트 프로젝트 프로젝트 에서 사용 되 지 않 았 습 니 다.이것 은 우리 가 이번에 주목 하 는 중점 이 아 닙 니 다.필요 하지 않 으 면 이 의존 을 제거 할 수 있 습 니 다.Reimport 후 이 jar 가방 은 우리 프로젝트 에서 삭 제 됩 니 다.
언제
1)새로운 프로젝트 를 만 들 때 jar 가방 을 인용 할 때 신중 해 야 합 니 다.오래된 프로젝트 의 의존 도 를 한꺼번에 복사 하지 말고 후기 에 시간 을 들 여 제거 하지 않도록 해 야 합 니 다.
2)기능 코드 재 구성 시 한 번 에 제거 할 수 있 습 니 다.뒤에 자체 측정 이 있 기 때문에 테스트 절 차 를 제출 하고 잘못 삭제 하면 테스트 할 때 발견 할 수 있 습 니 다.
4.어떤 위험 이 있 으 면 주의해 야 합 니까?
1)이 검 측 결 과 는 참고 로 만 제공 되 며,때로는 정확 하지 않 습 니 다.예 를 들 어 위 에서 언급 한 org.projectlombok:lombok:jar:1.16.20:provided 와 같이 실제 프로젝트 에서 사용 되 는 주해@Data 는 오심 에 속 합 니 다.의존 을 제거 한 후에 많은 테스트 를 해 야 한다.도 구 는 결국 결함 이 있 기 때문이다.
2)어린이 신발 들 이 남 겨 놓 은 오래된 프로젝트 를 맡 을 때 이런 문제 가 많 을 것 이다.그러나 처음 맡 았 을 때 이 조작 을 권장 하지 않 는 다.그 자체 가 프로젝트 에 익숙 하지 않 기 때문에 올 라 와 서 물건 을 삭제 하 는 것 은 문제 가 되 어 의존 하 는 문 제 를 해결 하 는 데 많은 시간 과 정력 을 낭비 할 것 이다.이 물건 은 당분간 움 직 이지 말 것 을 권장 한다.
5.작은 플러그 인 추가
pom.xml 의존 관 계 를 볼 때 IDEA 에 maven help 플러그 인 을 설치 하면 각 jar 의존 관 계 를 직관 적 으로 볼 수 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Nexus에서 자체 Maven 리포지토리를 구축하고 sbt에서 사용Scala 현장에서 프로젝트 종속성을 폐쇄된 Maven 리포지토리로 관리할 수 없는가 하는 이야기가 오르기 때문에, 일단 로컬상에서 간이로 검증한 내용을 비망으로 남깁니다. 프로덕션 용 리포지토리 서버는 별도로 현장...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.