[INFO] Scanning for projects...
[INFO] 
[INFO] --------------------------< com.example:demo >--------------------------
[INFO] Building demo 0.0.1-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- dependency:3.8.1:tree (default-cli) @ demo ---
[INFO] com.example:demo:jar:0.0.1-SNAPSHOT
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:3.4.4:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter:jar:3.4.4:compile (version managed from 3.4.4; scope not updated to compile)
[INFO] |  |  +- (org.springframework.boot:spring-boot:jar:3.4.4:compile - version managed from 3.4.4; omitted for duplicate)
[INFO] |  |  +- (org.springframework.boot:spring-boot-autoconfigure:jar:3.4.4:compile - version managed from 3.4.4; omitted for duplicate)
[INFO] |  |  +- org.springframework.boot:spring-boot-starter-logging:jar:3.4.4:compile (version managed from 3.4.4)
[INFO] |  |  |  +- ch.qos.logback:logback-classic:jar:1.5.18:compile (version managed from 1.5.18)
[INFO] |  |  |  |  +- ch.qos.logback:logback-core:jar:1.5.18:compile (version managed from 1.5.18)
[INFO] |  |  |  |  \- (org.slf4j:slf4j-api:jar:2.0.17:compile - version managed from 2.0.17; omitted for duplicate)
[INFO] |  |  |  +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.24.3:compile (version managed from 2.24.3)
[INFO] |  |  |  |  +- org.apache.logging.log4j:log4j-api:jar:2.24.3:compile (version managed from 2.24.3)
[INFO] |  |  |  |  \- (org.slf4j:slf4j-api:jar:2.0.17:compile - version managed from 2.0.16; omitted for duplicate)
[INFO] |  |  |  \- org.slf4j:jul-to-slf4j:jar:2.0.17:compile (version managed from 2.0.17)
[INFO] |  |  |     \- (org.slf4j:slf4j-api:jar:2.0.17:compile - version managed from 2.0.17; omitted for duplicate)
[INFO] |  |  +- jakarta.annotation:jakarta.annotation-api:jar:2.1.1:compile (version managed from 2.1.1)
[INFO] |  |  +- (org.springframework:spring-core:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |  |  \- org.yaml:snakeyaml:jar:2.3:compile (version managed from 2.3)
[INFO] |  +- org.springframework.boot:spring-boot-starter-json:jar:3.4.4:compile (version managed from 3.4.4)
[INFO] |  |  +- (org.springframework.boot:spring-boot-starter:jar:3.4.4:compile - version managed from 3.4.4; omitted for duplicate)
[INFO] |  |  +- (org.springframework:spring-web:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |  |  +- (com.fasterxml.jackson.core:jackson-databind:jar:2.18.3:compile - version managed from 2.18.3; omitted for duplicate)
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.18.3:compile (version managed from 2.18.3)
[INFO] |  |  |  +- (com.fasterxml.jackson.core:jackson-core:jar:2.18.3:compile - version managed from 2.18.3; omitted for duplicate)
[INFO] |  |  |  \- (com.fasterxml.jackson.core:jackson-databind:jar:2.18.3:compile - version managed from 2.18.3; omitted for duplicate)
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.18.3:compile (version managed from 2.18.3)
[INFO] |  |  |  +- (com.fasterxml.jackson.core:jackson-annotations:jar:2.18.3:compile - version managed from 2.18.3; omitted for duplicate)
[INFO] |  |  |  +- (com.fasterxml.jackson.core:jackson-core:jar:2.18.3:compile - version managed from 2.18.3; omitted for duplicate)
[INFO] |  |  |  \- (com.fasterxml.jackson.core:jackson-databind:jar:2.18.3:compile - version managed from 2.18.3; omitted for duplicate)
[INFO] |  |  \- (com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.18.3:compile - version managed from 2.18.3; omitted for duplicate)
[INFO] |  +- org.springframework.boot:spring-boot-starter-tomcat:jar:3.4.4:compile (version managed from 3.4.4)
[INFO] |  |  +- (jakarta.annotation:jakarta.annotation-api:jar:2.1.1:compile - version managed from 2.1.1; omitted for duplicate)
[INFO] |  |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:10.1.39:compile (version managed from 10.1.39)
[INFO] |  |  +- (org.apache.tomcat.embed:tomcat-embed-el:jar:10.1.39:compile - version managed from 10.1.39; omitted for duplicate)
[INFO] |  |  \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:10.1.39:compile (version managed from 10.1.39)
[INFO] |  |     \- (org.apache.tomcat.embed:tomcat-embed-core:jar:10.1.39:compile - version managed from 10.1.39; omitted for duplicate)
[INFO] |  +- org.springframework:spring-web:jar:6.2.5:compile (version managed from 6.2.5)
[INFO] |  |  +- org.springframework:spring-beans:jar:6.2.5:compile (version managed from 6.2.5)
[INFO] |  |  |  \- (org.springframework:spring-core:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |  |  +- (org.springframework:spring-core:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |  |  \- io.micrometer:micrometer-observation:jar:1.14.5:compile (version managed from 1.14.5)
[INFO] |  |     \- io.micrometer:micrometer-commons:jar:1.14.5:compile (version managed from 1.14.5)
[INFO] |  \- org.springframework:spring-webmvc:jar:6.2.5:compile (version managed from 6.2.5)
[INFO] |     +- (org.springframework:spring-aop:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |     +- (org.springframework:spring-beans:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |     +- org.springframework:spring-context:jar:6.2.5:compile (version managed from 6.2.5)
[INFO] |     |  +- (org.springframework:spring-aop:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |     |  +- (org.springframework:spring-beans:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |     |  +- (org.springframework:spring-core:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |     |  +- (org.springframework:spring-expression:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |     |  \- (io.micrometer:micrometer-observation:jar:1.14.5:compile - version managed from 1.14.5; omitted for duplicate)
[INFO] |     +- (org.springframework:spring-core:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |     +- org.springframework:spring-expression:jar:6.2.5:compile (version managed from 6.2.5)
[INFO] |     |  \- (org.springframework:spring-core:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |     \- (org.springframework:spring-web:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] +- com.mysql:mysql-connector-j:jar:9.1.0:runtime
[INFO] +- com.baomidou:mybatis-plus-spring-boot3-starter:jar:3.5.5:compile
[INFO] |  +- com.baomidou:mybatis-plus:jar:3.5.5:compile
[INFO] |  |  +- com.baomidou:mybatis-plus-core:jar:3.5.5:compile
[INFO] |  |  |  +- (com.baomidou:mybatis-plus-annotation:jar:3.5.5:compile - omitted for duplicate)
[INFO] |  |  |  +- (com.github.jsqlparser:jsqlparser:jar:4.6:compile - omitted for duplicate)
[INFO] |  |  |  \- (org.mybatis:mybatis:jar:3.5.15:compile - omitted for duplicate)
[INFO] |  |  +- com.baomidou:mybatis-plus-annotation:jar:3.5.5:compile
[INFO] |  |  +- com.baomidou:mybatis-plus-extension:jar:3.5.5:compile
[INFO] |  |  |  \- (com.baomidou:mybatis-plus-core:jar:3.5.5:compile - omitted for duplicate)
[INFO] |  |  +- org.mybatis:mybatis:jar:3.5.15:compile
[INFO] |  |  \- com.github.jsqlparser:jsqlparser:jar:4.6:compile
[INFO] |  +- org.mybatis:mybatis-spring:jar:3.0.3:compile
[INFO] |  +- com.baomidou:mybatis-plus-spring-boot-autoconfigure:jar:3.5.5:compile
[INFO] |  +- org.springframework.boot:spring-boot-autoconfigure:jar:3.4.4:compile (version managed from 3.2.0; scope not updated to compile)
[INFO] |  |  \- (org.springframework.boot:spring-boot:jar:3.4.4:compile - version managed from 3.4.4; omitted for duplicate)
[INFO] |  \- org.springframework.boot:spring-boot-starter-jdbc:jar:3.4.4:compile (version managed from 3.2.0)
[INFO] |     +- (org.springframework.boot:spring-boot-starter:jar:3.4.4:compile - version managed from 3.4.4; omitted for duplicate)
[INFO] |     +- com.zaxxer:HikariCP:jar:5.1.0:compile (version managed from 5.1.0)
[INFO] |     |  \- (org.slf4j:slf4j-api:jar:2.0.17:compile - version managed from 1.7.36; omitted for duplicate)
[INFO] |     \- org.springframework:spring-jdbc:jar:6.2.5:compile (version managed from 6.2.5)
[INFO] |        +- (org.springframework:spring-beans:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |        +- (org.springframework:spring-core:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |        \- org.springframework:spring-tx:jar:6.2.5:compile (version managed from 6.2.5)
[INFO] |           +- (org.springframework:spring-beans:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |           \- (org.springframework:spring-core:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] +- org.springframework.boot:spring-boot-configuration-processor:jar:3.4.4:compile
[INFO] +- org.springframework.boot:spring-boot-docker-compose:jar:3.4.4:runtime
[INFO] |  +- org.springframework.boot:spring-boot:jar:3.4.4:compile (version managed from 3.4.4; scope not updated to compile)
[INFO] |  |  +- (org.springframework:spring-core:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |  |  \- (org.springframework:spring-context:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.18.3:compile (version managed from 2.18.3; scope not updated to compile)
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.18.3:compile (version managed from 2.18.3)
[INFO] |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.18.3:compile (version managed from 2.18.3)
[INFO] |  \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.18.3:compile (version managed from 2.18.3; scope not updated to compile)
[INFO] |     +- (com.fasterxml.jackson.core:jackson-core:jar:2.18.3:compile - version managed from 2.18.3; omitted for duplicate)
[INFO] |     \- (com.fasterxml.jackson.core:jackson-databind:jar:2.18.3:compile - version managed from 2.18.3; omitted for duplicate)
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:3.4.4:test
[INFO] |  +- (org.springframework.boot:spring-boot-starter:jar:3.4.4:test - version managed from 3.4.4; omitted for duplicate)
[INFO] |  +- org.springframework.boot:spring-boot-test:jar:3.4.4:test (version managed from 3.4.4)
[INFO] |  |  +- (org.springframework.boot:spring-boot:jar:3.4.4:test - version managed from 3.4.4; omitted for duplicate)
[INFO] |  |  \- (org.springframework:spring-test:jar:6.2.5:test - version managed from 6.2.5; omitted for duplicate)
[INFO] |  +- org.springframework.boot:spring-boot-test-autoconfigure:jar:3.4.4:test (version managed from 3.4.4)
[INFO] |  |  +- (org.springframework.boot:spring-boot:jar:3.4.4:test - version managed from 3.4.4; omitted for duplicate)
[INFO] |  |  +- (org.springframework.boot:spring-boot-test:jar:3.4.4:test - version managed from 3.4.4; omitted for duplicate)
[INFO] |  |  \- (org.springframework.boot:spring-boot-autoconfigure:jar:3.4.4:test - version managed from 3.4.4; omitted for duplicate)
[INFO] |  +- com.jayway.jsonpath:json-path:jar:2.9.0:test (version managed from 2.9.0)
[INFO] |  |  +- (net.minidev:json-smart:jar:2.5.2:test - version managed from 2.5.0; omitted for duplicate)
[INFO] |  |  \- org.slf4j:slf4j-api:jar:2.0.17:compile (version managed from 2.0.11)
[INFO] |  +- jakarta.xml.bind:jakarta.xml.bind-api:jar:4.0.2:test (version managed from 4.0.2)
[INFO] |  |  \- jakarta.activation:jakarta.activation-api:jar:2.1.3:test (version managed from 2.1.3)
[INFO] |  +- net.minidev:json-smart:jar:2.5.2:test (version managed from 2.5.2)
[INFO] |  |  \- net.minidev:accessors-smart:jar:2.5.2:test
[INFO] |  |     \- org.ow2.asm:asm:jar:9.7.1:test
[INFO] |  +- org.assertj:assertj-core:jar:3.26.3:test (version managed from 3.26.3)
[INFO] |  |  \- net.bytebuddy:byte-buddy:jar:1.15.11:test (version managed from 1.14.18)
[INFO] |  +- org.awaitility:awaitility:jar:4.2.2:test (version managed from 4.2.2)
[INFO] |  |  \- (org.hamcrest:hamcrest:jar:2.2:test - version managed from 2.1; omitted for duplicate)
[INFO] |  +- org.hamcrest:hamcrest:jar:2.2:test (version managed from 2.2)
[INFO] |  +- org.junit.jupiter:junit-jupiter:jar:5.11.4:test (version managed from 5.11.4)
[INFO] |  |  +- org.junit.jupiter:junit-jupiter-api:jar:5.11.4:test (version managed from 5.11.4)
[INFO] |  |  |  +- org.opentest4j:opentest4j:jar:1.3.0:test
[INFO] |  |  |  +- org.junit.platform:junit-platform-commons:jar:1.11.4:test (version managed from 1.11.4)
[INFO] |  |  |  |  \- (org.apiguardian:apiguardian-api:jar:1.1.2:test - omitted for duplicate)
[INFO] |  |  |  \- org.apiguardian:apiguardian-api:jar:1.1.2:test
[INFO] |  |  +- org.junit.jupiter:junit-jupiter-params:jar:5.11.4:test (version managed from 5.11.4)
[INFO] |  |  |  +- (org.junit.jupiter:junit-jupiter-api:jar:5.11.4:test - version managed from 5.11.4; omitted for duplicate)
[INFO] |  |  |  \- (org.apiguardian:apiguardian-api:jar:1.1.2:test - omitted for duplicate)
[INFO] |  |  \- org.junit.jupiter:junit-jupiter-engine:jar:5.11.4:test (version managed from 5.11.4)
[INFO] |  |     +- org.junit.platform:junit-platform-engine:jar:1.11.4:test (version managed from 1.11.4)
[INFO] |  |     |  +- (org.opentest4j:opentest4j:jar:1.3.0:test - omitted for duplicate)
[INFO] |  |     |  +- (org.junit.platform:junit-platform-commons:jar:1.11.4:test - version managed from 1.11.4; omitted for duplicate)
[INFO] |  |     |  \- (org.apiguardian:apiguardian-api:jar:1.1.2:test - omitted for duplicate)
[INFO] |  |     +- (org.junit.jupiter:junit-jupiter-api:jar:5.11.4:test - version managed from 5.11.4; omitted for duplicate)
[INFO] |  |     \- (org.apiguardian:apiguardian-api:jar:1.1.2:test - omitted for duplicate)
[INFO] |  +- org.mockito:mockito-core:jar:5.14.2:test (version managed from 5.14.2)
[INFO] |  |  +- (net.bytebuddy:byte-buddy:jar:1.15.11:test - version managed from 1.15.4; omitted for duplicate)
[INFO] |  |  +- net.bytebuddy:byte-buddy-agent:jar:1.15.11:test (version managed from 1.15.4)
[INFO] |  |  \- org.objenesis:objenesis:jar:3.3:test
[INFO] |  +- org.mockito:mockito-junit-jupiter:jar:5.14.2:test (version managed from 5.14.2)
[INFO] |  |  +- (org.mockito:mockito-core:jar:5.14.2:test - version managed from 5.14.2; omitted for duplicate)
[INFO] |  |  \- (org.junit.jupiter:junit-jupiter-api:jar:5.11.4:test - version managed from 5.11.2; omitted for duplicate)
[INFO] |  +- org.skyscreamer:jsonassert:jar:1.5.3:test (version managed from 1.5.3)
[INFO] |  |  \- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:test
[INFO] |  +- org.springframework:spring-core:jar:6.2.5:compile (version managed from 6.2.5; scope not updated to compile)
[INFO] |  |  \- org.springframework:spring-jcl:jar:6.2.5:compile (version managed from 6.2.5)
[INFO] |  +- org.springframework:spring-test:jar:6.2.5:test (version managed from 6.2.5)
[INFO] |  |  \- (org.springframework:spring-core:jar:6.2.5:test - version managed from 6.2.5; omitted for duplicate)
[INFO] |  \- org.xmlunit:xmlunit-core:jar:2.10.0:test (version managed from 2.10.0)
[INFO] |     \- (jakarta.xml.bind:jakarta.xml.bind-api:jar:4.0.2:test - version managed from 2.3.3; omitted for duplicate)
[INFO] +- org.springframework.boot:spring-boot-starter-validation:jar:3.4.4:compile
[INFO] |  +- (org.springframework.boot:spring-boot-starter:jar:3.4.4:compile - version managed from 3.4.4; omitted for duplicate)
[INFO] |  +- org.apache.tomcat.embed:tomcat-embed-el:jar:10.1.39:compile (version managed from 10.1.39)
[INFO] |  \- org.hibernate.validator:hibernate-validator:jar:8.0.2.Final:compile (version managed from 8.0.2.Final)
[INFO] |     +- jakarta.validation:jakarta.validation-api:jar:3.0.2:compile (version managed from 3.0.2)
[INFO] |     +- org.jboss.logging:jboss-logging:jar:3.6.1.Final:compile (version managed from 3.4.3.Final)
[INFO] |     \- com.fasterxml:classmate:jar:1.7.0:compile (version managed from 1.5.1)
[INFO] +- org.springframework.boot:spring-boot-starter-security:jar:3.4.4:compile
[INFO] |  +- (org.springframework.boot:spring-boot-starter:jar:3.4.4:compile - version managed from 3.4.4; omitted for duplicate)
[INFO] |  +- org.springframework:spring-aop:jar:6.2.5:compile (version managed from 6.2.5)
[INFO] |  |  +- (org.springframework:spring-beans:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |  |  \- (org.springframework:spring-core:jar:6.2.5:compile - version managed from 6.2.5; omitted for duplicate)
[INFO] |  +- org.springframework.security:spring-security-config:jar:6.4.4:compile (version managed from 6.4.4)
[INFO] |  |  +- org.springframework.security:spring-security-core:jar:6.4.4:compile (version managed from 6.4.4)
[INFO] |  |  |  +- org.springframework.security:spring-security-crypto:jar:6.4.4:compile (version managed from 6.4.4)
[INFO] |  |  |  +- (org.springframework:spring-aop:jar:6.2.5:compile - version managed from 6.2.4; omitted for duplicate)
[INFO] |  |  |  +- (org.springframework:spring-beans:jar:6.2.5:compile - version managed from 6.2.4; omitted for duplicate)
[INFO] |  |  |  +- (org.springframework:spring-context:jar:6.2.5:compile - version managed from 6.2.4; omitted for duplicate)
[INFO] |  |  |  +- (org.springframework:spring-core:jar:6.2.5:compile - version managed from 6.2.4; omitted for duplicate)
[INFO] |  |  |  +- (org.springframework:spring-expression:jar:6.2.5:compile - version managed from 6.2.4; omitted for duplicate)
[INFO] |  |  |  \- (io.micrometer:micrometer-observation:jar:1.14.5:compile - version managed from 1.14.5; omitted for duplicate)
[INFO] |  |  +- (org.springframework:spring-aop:jar:6.2.5:compile - version managed from 6.2.4; omitted for duplicate)
[INFO] |  |  +- (org.springframework:spring-beans:jar:6.2.5:compile - version managed from 6.2.4; omitted for duplicate)
[INFO] |  |  +- (org.springframework:spring-context:jar:6.2.5:compile - version managed from 6.2.4; omitted for duplicate)
[INFO] |  |  \- (org.springframework:spring-core:jar:6.2.5:compile - version managed from 6.2.4; omitted for duplicate)
[INFO] |  \- org.springframework.security:spring-security-web:jar:6.4.4:compile (version managed from 6.4.4)
[INFO] |     +- (org.springframework.security:spring-security-core:jar:6.4.4:compile - version managed from 6.4.4; omitted for duplicate)
[INFO] |     +- (org.springframework:spring-core:jar:6.2.5:compile - version managed from 6.2.4; omitted for duplicate)
[INFO] |     +- (org.springframework:spring-aop:jar:6.2.5:compile - version managed from 6.2.4; omitted for duplicate)
[INFO] |     +- (org.springframework:spring-beans:jar:6.2.5:compile - version managed from 6.2.4; omitted for duplicate)
[INFO] |     +- (org.springframework:spring-context:jar:6.2.5:compile - version managed from 6.2.4; omitted for duplicate)
[INFO] |     +- (org.springframework:spring-expression:jar:6.2.5:compile - version managed from 6.2.4; omitted for duplicate)
[INFO] |     \- (org.springframework:spring-web:jar:6.2.5:compile - version managed from 6.2.4; omitted for duplicate)
[INFO] +- io.jsonwebtoken:jjwt-api:jar:0.11.5:compile
[INFO] +- io.jsonwebtoken:jjwt-impl:jar:0.11.5:runtime
[INFO] |  \- (io.jsonwebtoken:jjwt-api:jar:0.11.5:runtime - omitted for duplicate)
[INFO] \- io.jsonwebtoken:jjwt-jackson:jar:0.11.5:runtime
[INFO]    +- (io.jsonwebtoken:jjwt-api:jar:0.11.5:runtime - omitted for duplicate)
[INFO]    \- (com.fasterxml.jackson.core:jackson-databind:jar:2.18.3:runtime - version managed from 2.12.6.1; omitted for duplicate)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  8.939 s
[INFO] Finished at: 2025-05-10T00:10:04+08:00
[INFO] ------------------------------------------------------------------------
