버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

코드 블럭
# mvn dependency:tree
[INFO] Scanning for projects...
[INFO] 
[INFO] -------------< org.springframework.boot:spring-boot-ldap >--------------
[INFO] Building Spring Boot LDAP Sample 2.2.6.RELEASE
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:3.1.2:tree (default-cli) @ spring-boot-ldap ---
[INFO] org.springframework.boot:spring-boot-ldap:jar:2.2.6.RELEASE
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.2.6.RELEASE:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter:jar:2.2.6.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot:jar:2.2.6.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-autoconfigure:jar:2.2.6.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-starter-logging:jar:2.2.6.RELEASE:compile
[INFO] |  |  |  +- ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO] |  |  |  |  \- ch.qos.logback:logback-core:jar:1.2.3:compile
[INFO] |  |  |  +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.12.1:compile
[INFO] |  |  |  |  \- org.apache.logging.log4j:log4j-api:jar:2.12.1:compile
[INFO] |  |  |  \- org.slf4j:jul-to-slf4j:jar:1.7.30:compile
[INFO] |  |  \- org.yaml:snakeyaml:jar:1.25:runtime
[INFO] |  +- org.springframework.boot:spring-boot-starter-json:jar:2.2.6.RELEASE:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.10.3:compile
[INFO] |  |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.10.3:compile
[INFO] |  |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.10.3:compile
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.10.3:compile
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.10.3:compile
[INFO] |  |  \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.10.3:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter-validation:jar:2.2.6.RELEASE:compile
[INFO] |  |  +- jakarta.validation:jakarta.validation-api:jar:2.0.2:compile
[INFO] |  |  \- org.hibernate.validator:hibernate-validator:jar:6.0.18.Final:compile
[INFO] |  |     +- org.jboss.logging:jboss-logging:jar:3.4.1.Final:compile
[INFO] |  |     \- com.fasterxml:classmate:jar:1.5.1:compile
[INFO] |  +- org.springframework:spring-web:jar:5.2.5.RELEASE:compile
[INFO] |  \- org.springframework:spring-webmvc:jar:5.2.5.RELEASE:compile
[INFO] |     \- org.springframework:spring-expression:jar:5.2.5.RELEASE:compile
[INFO] +- javax.servlet:jstl:jar:1.2:compile
[INFO] +- org.springframework.data:spring-data-ldap:jar:2.2.6.RELEASE:compile
[INFO] |  +- org.springframework:spring-context:jar:5.2.5.RELEASE:compile
[INFO] |  +- org.springframework.ldap:spring-ldap-core:jar:2.3.2.RELEASE:compile
[INFO] |  +- org.springframework.data:spring-data-commons:jar:2.2.6.RELEASE:compile
[INFO] |  \- org.slf4j:slf4j-api:jar:1.7.30:compile
[INFO] +- org.springframework.data:spring-data-jpa:jar:2.2.6.RELEASE:compile
[INFO] |  +- org.springframework:spring-orm:jar:5.2.5.RELEASE:compile
[INFO] |  +- org.springframework:spring-aop:jar:5.2.5.RELEASE:compile
[INFO] |  +- org.springframework:spring-tx:jar:5.2.5.RELEASE:compile
[INFO] |  +- org.springframework:spring-beans:jar:5.2.5.RELEASE:compile
[INFO] |  +- org.springframework:spring-core:jar:5.2.5.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-jcl:jar:5.2.5.RELEASE:compile
[INFO] |  \- org.aspectj:aspectjrt:jar:1.9.5:compile
[INFO] +- org.apache.directory.server:apacheds-core:jar:1.5.7:test
[INFO] |  +- org.apache.directory.server:apacheds-i18n:jar:1.5.7:test
[INFO] |  +- org.apache.directory.server:apacheds-core-api:jar:1.5.7:test
[INFO] |  |  \- org.apache.directory.server:apacheds-core-constants:jar:1.5.7:test
[INFO] |  +- org.apache.directory.server:apacheds-utils:jar:1.5.7:test
[INFO] |  +- bouncycastle:bcprov-jdk15:jar:140:test
[INFO] |  +- org.apache.directory.shared:shared-ldap:jar:0.9.19:test
[INFO] |  |  +- commons-collections:commons-collections:jar:3.2.1:test
[INFO] |  |  +- org.apache.directory.shared:shared-i18n:jar:0.9.19:test
[INFO] |  |  \- antlr:antlr:jar:2.7.7:test
[INFO] |  +- org.apache.directory.shared:shared-ldap-schema:jar:0.9.19:test
[INFO] |  +- org.apache.directory.shared:shared-ldap-schema-loader:jar:0.9.19:test
[INFO] |  +- org.apache.directory.shared:shared-ldap-schema-manager:jar:0.9.19:test
[INFO] |  +- org.apache.directory.shared:shared-cursor:jar:0.9.19:test
[INFO] |  +- org.apache.directory.shared:shared-ldap-jndi:jar:0.9.19:test
[INFO] |  +- org.apache.directory.shared:shared-asn1-codec:jar:0.9.19:test
[INFO] |  +- org.apache.directory.shared:shared-asn1:jar:0.9.19:test
[INFO] |  +- org.apache.directory.shared:shared-ldap-constants:jar:0.9.19:test
[INFO] |  +- org.apache.directory.shared:shared-ldap-converter:jar:0.9.19:test
[INFO] |  +- org.apache.directory.shared:shared-ldap-schema-dao:jar:0.9.19:test
[INFO] |  +- org.apache.directory.shared:shared-ldif:jar:0.9.19:test
[INFO] |  \- org.apache.directory.shared:shared-dsml-parser:jar:0.9.19:test
[INFO] |     +- dom4j:dom4j:jar:1.6.1:test
[INFO] |     |  \- xml-apis:xml-apis:jar:1.0.b2:test
[INFO] |     \- xpp3:xpp3:jar:1.1.4c:test
[INFO] +- org.apache.directory.server:apacheds-core-entry:jar:1.5.7:test
[INFO] +- org.apache.directory.server:apacheds-protocol-shared:jar:1.5.7:test
[INFO] |  \- org.apache.mina:mina-core:jar:2.0.0-RC1:test
[INFO] +- org.apache.directory.server:apacheds-protocol-ldap:jar:1.5.7:test
[INFO] |  +- org.apache.directory.server:apacheds-kerberos-shared:jar:1.5.7:test
[INFO] |  |  \- org.apache.directory.server:apacheds-core-jndi:jar:1.5.7:test
[INFO] |  \- org.apache.directory.server:apacheds-xdbm-tools:jar:1.5.7:test
[INFO] |     \- org.apache.directory.server:apacheds-xdbm-base:jar:1.5.7:test
[INFO] +- org.apache.directory.server:apacheds-server-jndi:jar:1.5.7:test
[INFO] |  +- org.apache.directory.server:apacheds-ldif-partition:jar:1.5.7:test
[INFO] |  |  +- org.apache.directory.server:apacheds-avl-partition:jar:1.5.7:test
[INFO] |  |  |  \- org.apache.directory.server:apacheds-core-avl:jar:1.5.7:test
[INFO] |  |  \- org.apache.directory.server:apacheds-core-mock:jar:1.5.7:test
[INFO] |  \- org.apache.directory.server:apacheds-jdbm-partition:jar:1.5.7:test
[INFO] |     +- org.apache.directory.server:apacheds-jdbm-store:jar:1.5.7:test
[INFO] |     |  \- org.apache.directory.server:apacheds-jdbm:jar:1.5.7:test
[INFO] |     \- org.apache.directory.server:apacheds-xdbm-search:jar:1.5.7:test
[INFO] +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.2.6.RELEASE:provided
[INFO] |  +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
[INFO] |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.33:provided
[INFO] |  +- org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.33:provided
[INFO] |  \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.33:provided
[INFO] +- org.apache.tomcat.embed:tomcat-embed-jasper:jar:9.0.33:provided
[INFO] |  \- org.eclipse.jdt:ecj:jar:3.18.0:provided
[INFO] +- org.springframework.session:spring-session-jdbc:jar:2.2.2.RELEASE:compile
[INFO] |  +- org.springframework.session:spring-session-core:jar:2.2.2.RELEASE:compile
[INFO] |  \- org.springframework:spring-jdbc:jar:5.2.5.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-jdbc:jar:2.2.6.RELEASE:compile
[INFO] |  \- com.zaxxer:HikariCP:jar:3.4.2:compile
[INFO] +- com.h2database:h2:jar:1.4.200:compile
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.2.6.RELEASE:test
[INFO] |  +- org.springframework.boot:spring-boot-test:jar:2.2.6.RELEASE:test
[INFO] |  +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.2.6.RELEASE:test
[INFO] |  +- com.jayway.jsonpath:json-path:jar:2.4.0:test
[INFO] |  |  \- net.minidev:json-smart:jar:2.3:test
[INFO] |  |     \- net.minidev:accessors-smart:jar:1.2:test
[INFO] |  |        \- org.ow2.asm:asm:jar:5.0.4:test
[INFO] |  +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3:test
[INFO] |  |  \- jakarta.activation:jakarta.activation-api:jar:1.2.2:test
[INFO] |  +- org.junit.jupiter:junit-jupiter:jar:5.5.2:test
[INFO] |  |  +- org.junit.jupiter:junit-jupiter-api:jar:5.5.2:test
[INFO] |  |  |  +- org.opentest4j:opentest4j:jar:1.2.0:test
[INFO] |  |  |  \- org.junit.platform:junit-platform-commons:jar:1.5.2:test
[INFO] |  |  +- org.junit.jupiter:junit-jupiter-params:jar:5.5.2:test
[INFO] |  |  \- org.junit.jupiter:junit-jupiter-engine:jar:5.5.2:test
[INFO] |  +- org.junit.vintage:junit-vintage-engine:jar:5.5.2:test
[INFO] |  |  +- org.apiguardian:apiguardian-api:jar:1.1.0:test
[INFO] |  |  +- org.junit.platform:junit-platform-engine:jar:1.5.2:test
[INFO] |  |  \- junit:junit:jar:4.12:test
[INFO] |  +- org.mockito:mockito-junit-jupiter:jar:3.1.0:test
[INFO] |  +- org.assertj:assertj-core:jar:3.13.2:test
[INFO] |  +- org.hamcrest:hamcrest:jar:2.1:test
[INFO] |  +- org.mockito:mockito-core:jar:3.1.0:test
[INFO] |  |  +- net.bytebuddy:byte-buddy:jar:1.10.8:test
[INFO] |  |  +- net.bytebuddy:byte-buddy-agent:jar:1.10.8:test
[INFO] |  |  \- org.objenesis:objenesis:jar:2.6:test
[INFO] |  +- org.skyscreamer:jsonassert:jar:1.5.0:test
[INFO] |  |  \- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:test
[INFO] |  +- org.springframework:spring-test:jar:5.2.5.RELEASE:test
[INFO] |  \- org.xmlunit:xmlunit-core:jar:2.6.4:test
[INFO] \- org.springframework.ldap:spring-ldap-test:jar:2.3.2.RELEASE:test
[INFO]    +- com.google.code.typica:typica:jar:1.3:test
[INFO]    |  +- commons-httpclient:commons-httpclient:jar:3.1:test
[INFO]    |  \- commons-codec:commons-codec:jar:1.13:test
[INFO]    +- commons-io:commons-io:jar:2.4:test
[INFO]    +- commons-lang:commons-lang:jar:2.6:test
[INFO]    +- javax.activation:activation:jar:1.1:test
[INFO]    \- org.springframework.ldap:spring-ldap-ldif-core:jar:2.3.2.RELEASE:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.953 s
[INFO] Finished at: 2020-04-20T01:54:58+09:00
[INFO] ------------------------------------------------------------------------

Dependency의 충돌

Dependency가 언제 충돌하나?

다음은 dependency의 충돌 사례입니다. 프로젝트에서 POM에 dependency를 추가했을 때 추가한 dependency가 다른 dependency를 활용하게 되는데 이때 다음과 같이 버전간의 문제가 발생할 수 있습니다. 

Image Added

버전에 따라서 메소드가 추가 또는 삭제가 될 수 있고, 메소드의 signature가 변경될 수도 있습니다. 이 경우 빌드나 컴파일시 에러가 발생할 수 있습니다. Maven 초보자의 경우 이렇게 발생하는 충돌 문제를 해결하는 것이 쉽지 않습니다. Image Removed하수와 고수의 차이가 바로 이 충돌 문제의 해결 능력에 달려있다고 해도 과언이 아닙니다.

어떻게 충돌 문제를 해결할 수 있을까?