I have created a spring boot application.
In the pom.xml there are several dependencies which pull several jars in maven dependencies.
Here is pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.aciworldwide.tch</groupId>
<artifactId>bmo</artifactId>
<version>1.3.1.0-SNAPSHOT</version>
<name>PmtStsReqApplication</name>
<description>Generation of xml file with the list of unsettled records from Ipf Trans Log</description>
<properties>
<java.version>1.8</java.version>
<start-class>com.aciworldwide.tch.PmtStsReqApplication</start-class>
<jaxb-api.version>2.3.1</jaxb-api.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.oracle.ojdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>19.3.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- JAXB 2.3.0 for jdk9+ -->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${jaxb-api.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>${jaxb-api.version}</version>
</dependency>
<!-- JAXB needs javax.activation module (jdk9) -->
<dependency>
<groupId>javax.activation</groupId>
<artifactId>javax.activation-api</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt</artifactId>
<version>1.9.3</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<packaging>jar</packaging>
</project>
Here is the list of jars present after building the application
I want to know which jars are pulled by the dependency : spring-boot-starter-test when building the application.
It would be helpful to know how to know which dependency jars are downloaded by which dependency mentioned in pom.xml.
You can use mvn dependency:tree on the command line to see a tree of your project's dependencies. Using your pom, it outputs the following:
[INFO] com.aciworldwide.tch:bmo:jar:1.3.1.0-SNAPSHOT
[INFO] +- org.springframework.boot:spring-boot-starter-jdbc:jar:2.4.1:compile
[INFO] | +- com.zaxxer:HikariCP:jar:3.4.5:compile
[INFO] | | \- org.slf4j:slf4j-api:jar:1.7.30:compile
[INFO] | \- org.springframework:spring-jdbc:jar:5.3.2:compile
[INFO] | +- org.springframework:spring-beans:jar:5.3.2:compile
[INFO] | \- org.springframework:spring-tx:jar:5.3.2:compile
[INFO] +- com.oracle.ojdbc:ojdbc8:jar:19.3.0.0:compile
[INFO] | +- com.oracle.ojdbc:ucp:jar:19.3.0.0:compile
[INFO] | +- com.oracle.ojdbc:oraclepki:jar:19.3.0.0:compile
[INFO] | +- com.oracle.ojdbc:osdt_cert:jar:19.3.0.0:compile
[INFO] | +- com.oracle.ojdbc:osdt_core:jar:19.3.0.0:compile
[INFO] | +- com.oracle.ojdbc:simplefan:jar:19.3.0.0:compile
[INFO] | \- com.oracle.ojdbc:ons:jar:19.3.0.0:compile
[INFO] +- org.springframework.boot:spring-boot-starter:jar:2.4.1:compile
[INFO] | +- org.springframework.boot:spring-boot:jar:2.4.1:compile
[INFO] | | \- org.springframework:spring-context:jar:5.3.2:compile
[INFO] | | +- org.springframework:spring-aop:jar:5.3.2:compile
[INFO] | | \- org.springframework:spring-expression:jar:5.3.2:compile
[INFO] | +- org.springframework.boot:spring-boot-autoconfigure:jar:2.4.1:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-logging:jar:2.4.1: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.13.3:compile
[INFO] | | | \- org.apache.logging.log4j:log4j-api:jar:2.13.3:compile
[INFO] | | \- org.slf4j:jul-to-slf4j:jar:1.7.30:compile
[INFO] | +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
[INFO] | +- org.springframework:spring-core:jar:5.3.2:compile
[INFO] | | \- org.springframework:spring-jcl:jar:5.3.2:compile
[INFO] | \- org.yaml:snakeyaml:jar:1.27:compile
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.4.1:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:2.4.1:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.4.1: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.assertj:assertj-core:jar:3.18.1:test
[INFO] | +- org.hamcrest:hamcrest:jar:2.2:test
[INFO] | +- org.junit.jupiter:junit-jupiter:jar:5.7.0:test
[INFO] | | +- org.junit.jupiter:junit-jupiter-api:jar:5.7.0:test
[INFO] | | | +- org.apiguardian:apiguardian-api:jar:1.1.0:test
[INFO] | | | +- org.opentest4j:opentest4j:jar:1.2.0:test
[INFO] | | | \- org.junit.platform:junit-platform-commons:jar:1.7.0:test
[INFO] | | +- org.junit.jupiter:junit-jupiter-params:jar:5.7.0:test
[INFO] | | \- org.junit.jupiter:junit-jupiter-engine:jar:5.7.0:test
[INFO] | | \- org.junit.platform:junit-platform-engine:jar:1.7.0:test
[INFO] | +- org.mockito:mockito-core:jar:3.6.28:test
[INFO] | | +- net.bytebuddy:byte-buddy:jar:1.10.18:test
[INFO] | | +- net.bytebuddy:byte-buddy-agent:jar:1.10.18:test
[INFO] | | \- org.objenesis:objenesis:jar:3.1:test
[INFO] | +- org.mockito:mockito-junit-jupiter:jar:3.6.28: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.3.2:test
[INFO] | \- org.xmlunit:xmlunit-core:jar:2.7.0:test
[INFO] +- javax.xml.bind:jaxb-api:jar:2.3.1:compile
[INFO] +- org.glassfish.jaxb:jaxb-runtime:jar:2.3.1:compile
[INFO] | +- org.glassfish.jaxb:txw2:jar:2.3.3:compile
[INFO] | +- com.sun.istack:istack-commons-runtime:jar:3.0.7:compile
[INFO] | +- org.jvnet.staxex:stax-ex:jar:1.8:compile
[INFO] | \- com.sun.xml.fastinfoset:FastInfoset:jar:1.2.15:compile
[INFO] +- javax.activation:javax.activation-api:jar:1.2.0:compile
[INFO] \- org.jasypt:jasypt:jar:1.9.3:compile
Within this output, you can see spring-boot-starter-test and the dependencies that it contributes:
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.4.1:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:2.4.1:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.4.1: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.assertj:assertj-core:jar:3.18.1:test
[INFO] | +- org.hamcrest:hamcrest:jar:2.2:test
[INFO] | +- org.junit.jupiter:junit-jupiter:jar:5.7.0:test
[INFO] | | +- org.junit.jupiter:junit-jupiter-api:jar:5.7.0:test
[INFO] | | | +- org.apiguardian:apiguardian-api:jar:1.1.0:test
[INFO] | | | +- org.opentest4j:opentest4j:jar:1.2.0:test
[INFO] | | | \- org.junit.platform:junit-platform-commons:jar:1.7.0:test
[INFO] | | +- org.junit.jupiter:junit-jupiter-params:jar:5.7.0:test
[INFO] | | \- org.junit.jupiter:junit-jupiter-engine:jar:5.7.0:test
[INFO] | | \- org.junit.platform:junit-platform-engine:jar:1.7.0:test
[INFO] | +- org.mockito:mockito-core:jar:3.6.28:test
[INFO] | | +- net.bytebuddy:byte-buddy:jar:1.10.18:test
[INFO] | | +- net.bytebuddy:byte-buddy-agent:jar:1.10.18:test
[INFO] | | \- org.objenesis:objenesis:jar:3.1:test
[INFO] | +- org.mockito:mockito-junit-jupiter:jar:3.6.28: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.3.2:test
[INFO] | \- org.xmlunit:xmlunit-core:jar:2.7.0:test
Related
Setting up a clean Maven project with spring boot for testing with JUnit 4 and 5 I end up with these dependencies:
<properties>
<junit-jupiter.version>5.5.2</junit-jupiter.version>
<spring-framework.version>5.2.0.RELEASE</spring-framework.version>
<spring-boot.version>2.2.0.RELEASE</spring-boot.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring-framework.version}</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-swing</artifactId>
<version>11</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit-jupiter.version}</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<version>${junit-jupiter.version}</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>${junit-jupiter.version}</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit-jupiter.version}</version>
</dependency>
</dependencies>
This results in the following dependency tree:
[INFO] ch.sahits.test:junit55:jar:1.0-SNAPSHOT
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot:jar:2.2.0.RELEASE:compile
[INFO] | | | \- org.springframework:spring-context:jar:5.2.0.RELEASE:compile
[INFO] | | | +- org.springframework:spring-aop:jar:5.2.0.RELEASE:compile
[INFO] | | | +- org.springframework:spring-beans:jar:5.2.0.RELEASE:compile
[INFO] | | | \- org.springframework:spring-expression:jar:5.2.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-autoconfigure:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:2.2.0.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.28:compile
[INFO] | | +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
[INFO] | | \- org.yaml:snakeyaml:jar:1.25:runtime
[INFO] | +- org.springframework.boot:spring-boot-test:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.2.0.RELEASE:compile
[INFO] | +- com.jayway.jsonpath:json-path:jar:2.4.0:compile
[INFO] | | +- net.minidev:json-smart:jar:2.3:compile
[INFO] | | | \- net.minidev:accessors-smart:jar:1.2:compile
[INFO] | | | \- org.ow2.asm:asm:jar:5.0.4:compile
[INFO] | | \- org.slf4j:slf4j-api:jar:1.7.25:compile
[INFO] | +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.2:compile
[INFO] | | \- jakarta.activation:jakarta.activation-api:jar:1.2.1:compile
[INFO] | +- org.junit.jupiter:junit-jupiter:jar:5.5.2:compile
[INFO] | +- org.mockito:mockito-junit-jupiter:jar:3.1.0:compile
[INFO] | +- org.assertj:assertj-core:jar:3.13.2:compile
[INFO] | +- org.hamcrest:hamcrest:jar:2.1:compile
[INFO] | +- org.mockito:mockito-core:jar:3.1.0:compile
[INFO] | | +- net.bytebuddy:byte-buddy:jar:1.9.10:compile
[INFO] | | +- net.bytebuddy:byte-buddy-agent:jar:1.9.10:compile
[INFO] | | \- org.objenesis:objenesis:jar:2.6:compile
[INFO] | +- org.skyscreamer:jsonassert:jar:1.5.0:compile
[INFO] | | \- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:compile
[INFO] | +- org.springframework:spring-test:jar:5.2.0.RELEASE:compile
[INFO] | \- org.xmlunit:xmlunit-core:jar:2.6.3:compile
[INFO] +- org.springframework:spring-core:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-jcl:jar:5.2.0.RELEASE:compile
[INFO] +- org.openjfx:javafx-controls:jar:11:compile
[INFO] | +- org.openjfx:javafx-controls:jar:linux:11:compile
[INFO] | \- org.openjfx:javafx-graphics:jar:11:compile
[INFO] | +- org.openjfx:javafx-graphics:jar:linux:11:compile
[INFO] | \- org.openjfx:javafx-base:jar:11:compile
[INFO] | \- org.openjfx:javafx-base:jar:linux:11:compile
[INFO] +- org.openjfx:javafx-swing:jar:11:compile
[INFO] | \- org.openjfx:javafx-swing:jar:linux:11:compile
[INFO] +- junit:junit:jar:4.12:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.junit.jupiter:junit-jupiter-engine:jar:5.5.2:compile
[INFO] | +- org.apiguardian:apiguardian-api:jar:1.1.0:compile
[INFO] | \- org.junit.platform:junit-platform-engine:jar:1.5.2:compile
[INFO] +- org.junit.platform:junit-platform-launcher:jar:1.2.0:compile
[INFO] +- org.junit.vintage:junit-vintage-engine:jar:5.5.2:compile
[INFO] +- org.junit.jupiter:junit-jupiter-params:jar:5.5.2:compile
[INFO] \- org.junit.jupiter:junit-jupiter-api:jar:5.5.2:compile
[INFO] +- org.opentest4j:opentest4j:jar:1.2.0:compile
[INFO] \- org.junit.platform:junit-platform-commons:jar:1.5.2:compile
On a different module/project I do have these dependencies:
<dependencies>
<!-- Module dependencies -->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>OpenPatricianUtilities</artifactId>
</dependency>
<dependency>
<groupId>ch.sahits.game</groupId>
<artifactId>GameEvent</artifactId>
</dependency>
<dependency>
<groupId>ch.sahits.game</groupId>
<artifactId>MarvinFXEssentials</artifactId>
<scope>test</scope>
</dependency>
<!-- Spring Framework -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
</dependency>
<!-- Other libraries -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>ch.sahits</groupId>
<artifactId>sahitsUtil</artifactId>
</dependency>
<!-- Test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.sahits.game</groupId>
<artifactId>OpenPatricianData</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.sahits.game</groupId>
<artifactId>OpenPatricianTestUtilities</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
Resulting in this dependency tree:
[INFO] ch.sahits.game:OpenPatricianModel:jar:1.1.0-SNAPSHOT
[INFO] +- ch.sahits.game:OpenPatricianUtilities:jar:1.1.0-SNAPSHOT:compile
[INFO] | +- org.springframework:spring-context:jar:5.2.0.RELEASE:compile
[INFO] | | +- org.springframework:spring-aop:jar:5.2.0.RELEASE:compile
[INFO] | | \- org.springframework:spring-expression:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework:spring-beans:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-logging:jar:2.2.0.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.28:compile
[INFO] | +- org.openjfx:javafx-controls:jar:11:compile
[INFO] | | +- org.openjfx:javafx-controls:jar:linux:11:compile
[INFO] | | \- org.openjfx:javafx-graphics:jar:11:compile
[INFO] | | +- org.openjfx:javafx-graphics:jar:linux:11:compile
[INFO] | | \- org.openjfx:javafx-base:jar:11:compile
[INFO] | | \- org.openjfx:javafx-base:jar:linux:11:compile
[INFO] | +- commons-io:commons-io:jar:2.6:compile
[INFO] | +- com.thoughtworks.xstream:xstream:jar:1.4.11:compile
[INFO] | | +- xmlpull:xmlpull:jar:1.1.3.1:compile
[INFO] | | \- xpp3:xpp3_min:jar:1.1.4c:compile
[INFO] | +- javax.xml.bind:jaxb-api:jar:2.3.1:compile
[INFO] | \- javax.annotation:javax.annotation-api:jar:1.3.2:compile
[INFO] +- ch.sahits.game:GameEvent:jar:1.1.0-SNAPSHOT:compile
[INFO] +- ch.sahits.game:MarvinFXEssentials:jar:1.1.0-SNAPSHOT:test
[INFO] | +- junit:junit:jar:4.12:test
[INFO] | | \- org.hamcrest:hamcrest-core:jar:2.1:test
[INFO] | \- org.openjfx:javafx-fxml:jar:11:test
[INFO] | \- org.openjfx:javafx-fxml:jar:linux:11:test
[INFO] +- org.springframework.boot:spring-boot:jar:2.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-core:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-jcl:jar:5.2.0.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-autoconfigure:jar:2.2.0.RELEASE:compile
[INFO] +- org.springframework:spring-oxm:jar:5.2.0.RELEASE:compile
[INFO] +- org.glassfish.jaxb:jaxb-runtime:jar:2.3.1:compile
[INFO] | +- org.glassfish.jaxb:txw2:jar:2.3.2:compile
[INFO] | +- com.sun.istack:istack-commons-runtime:jar:3.0.7:compile
[INFO] | +- org.jvnet.staxex:stax-ex:jar:1.8:compile
[INFO] | +- com.sun.xml.fastinfoset:FastInfoset:jar:1.2.15:compile
[INFO] | \- javax.activation:javax.activation-api:jar:1.2.0:compile
[INFO] +- com.google.guava:guava:jar:24.1-jre:compile
[INFO] | +- com.google.code.findbugs:jsr305:jar:1.3.9:compile
[INFO] | +- org.checkerframework:checker-compat-qual:jar:2.0.0:compile
[INFO] | +- com.google.errorprone:error_prone_annotations:jar:2.1.3:compile
[INFO] | +- com.google.j2objc:j2objc-annotations:jar:1.1:compile
[INFO] | \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile
[INFO] +- org.projectlombok:lombok:jar:1.18.10:provided
[INFO] +- ch.sahits:sahitsUtil:jar:1.3.3:compile
[INFO] | +- org.apache.commons:commons-lang3:jar:3.9:compile
[INFO] | +- org.mockito:mockito-junit-jupiter:jar:3.1.0:compile
[INFO] | \- commons-cli:commons-cli:jar:1.4:compile
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.2.0.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:2.2.0.RELEASE:test
[INFO] | | +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:test
[INFO] | | \- org.yaml:snakeyaml:jar:1.25:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:2.2.0.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.2.0.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] | | \- org.slf4j:slf4j-api:jar:1.7.28:compile
[INFO] | +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.2:test
[INFO] | | \- jakarta.activation:jakarta.activation-api:jar:1.2.1:test
[INFO] | +- org.junit.jupiter:junit-jupiter: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] | +- 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:compile
[INFO] | | +- net.bytebuddy:byte-buddy:jar:1.10.1:compile
[INFO] | | +- net.bytebuddy:byte-buddy-agent:jar:1.10.1:compile
[INFO] | | \- org.objenesis:objenesis:jar:2.6:compile
[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.0.RELEASE:test
[INFO] | \- org.xmlunit:xmlunit-core:jar:2.6.3:test
[INFO] +- ch.sahits.game:OpenPatricianData:jar:1.1.0-SNAPSHOT:test
[INFO] \- ch.sahits.game:OpenPatricianTestUtilities:jar:1.1.0-SNAPSHOT:test
[INFO] +- org.openjfx:javafx-swing:jar:11:test
[INFO] | \- org.openjfx:javafx-swing:jar:linux:11:test
[INFO] +- org.junit.jupiter:junit-jupiter-engine:jar:5.5.2:test
[INFO] +- org.junit.platform:junit-platform-launcher:jar:1.5.2:test
[INFO] +- org.junit.jupiter:junit-jupiter-params: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
Both define Mockito in version 3.1.0 through the spring-boot-starter-test. However the the porject junit55 has a byte-buddy dependency of version 1.9.10 while OpenPatricianModel has it in version 1.10.1. This dependency is not explicity defined in the project.
How is it possible that I have different dependency of byte-buddy on OpenPatricianModel and how can I find out, where it comes from.
The byte-buddy dependencies are being pulled in transitively by at least one more dependency than org.springframework.boot:spring-boot-starter-test. You can see that by the scope of byte-buddy in the dependency tree of your OpenPatricianModel. Note that the scope is compile and not test.
The best way to find out which dependency is pulling it in is to add exclusions of the byte-buddy dependencies in your declaration of the spring-boot-starter-test. Something like:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
</exclusion>
<exclusion>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy-agent</artifactId>
</exclusion>
</exclusions>
</dependency>
Then, by running mvn dependency:tree again you should be able to see which other dependency is pulling in byte-buddy. Note that there could be more than one, in which case you will have to do the same exercise again.
There is some version mismatch in the jersey jars but I am not able to find which one is causing this issue. I've checked the posts dealing with the same issue but I am not able to resolve it. Whenever I try to access any of my REST endpoints, I get the runtime error mentioned in the title: NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map.
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.bundles.repackaged</groupId>
<artifactId>jersey-guava</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>com.owlike</groupId>
<artifactId>genson</artifactId>
<version>0.99</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.9.1</version>
</dependency>
The dependency:tree output:
+- javax.ws.rs:javax.ws.rs-api:jar:2.1.1:compile
[INFO] +- javax.servlet:javax.servlet-api:jar:4.0.1:provided
[INFO] +- org.glassfish.jersey.core:jersey-client:jar:2.6:compile
[INFO] | +- org.glassfish.jersey.core:jersey-common:jar:2.6:compile
[INFO] | | \- org.glassfish.hk2:osgi-resource-locator:jar:1.0.1:compile
[INFO] | +- org.glassfish.hk2:hk2-api:jar:2.2.0:compile
[INFO] | | +- org.glassfish.hk2:hk2-utils:jar:2.2.0:compile
[INFO] | | \- org.glassfish.hk2.external:aopalliance-repackaged:jar:2.2.0:compile
[INFO] | +- org.glassfish.hk2.external:javax.inject:jar:2.2.0:compile
[INFO] | \- org.glassfish.hk2:hk2-locator:jar:2.2.0:compile
[INFO] | \- org.javassist:javassist:jar:3.18.1-GA:compile
[INFO] +- org.glassfish.jersey.containers:jersey-container-servlet:jar:2.6:compile
[INFO] | \- org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.6:compile
[INFO] +- org.glassfish.jersey.core:jersey-server:jar:2.6:compile
[INFO] | +- javax.annotation:javax.annotation-api:jar:1.2:compile
[INFO] | \- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] +- org.glassfish.jersey.bundles.repackaged:jersey-guava:jar:2.6:compile
[INFO] +- com.owlike:genson:jar:0.99:compile
[INFO] +- junit:junit:jar:4.11:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.slf4j:slf4j-log4j12:jar:1.4.2:compile
[INFO] | +- org.slf4j:slf4j-api:jar:1.4.2:compile
[INFO] | \- log4j:log4j:jar:1.2.13:compile
[INFO] +- org.json:json:jar:20180813:compile
[INFO] +- com.googlecode.json-simple:json-simple:jar:1.1:compile
[INFO] +- org.quartz-scheduler:quartz:jar:2.2.1:compile
[INFO] | \- c3p0:c3p0:jar:0.9.1.1:compile
[INFO] +- org.quartz-scheduler:quartz-jobs:jar:2.2.1:compile
[INFO] +- commons-collections:commons-collections:jar:3.2.1:compile
[INFO] +- org.apache.directory.studio:org.apache.commons.logging:jar:1.1.1:compile
[INFO] | \- commons-logging:commons-logging:jar:1.1.1:compile
[INFO] +- commons-dbcp:commons-dbcp:jar:1.2.2:compile
[INFO] +- commons-pool:commons-pool:jar:1.5.3:compile
[INFO] +- io.springfox:springfox-swagger-ui:jar:2.0.1:compile
[INFO] | \- io.springfox:springfox-spring-web:jar:2.0.1:compile
[INFO] +- io.swagger:swagger-annotations:jar:1.5.22:compile
[INFO] +- io.swagger:swagger-jaxrs:jar:1.5.22:compile
[INFO] | +- io.swagger:swagger-core:jar:1.5.22:compile
[INFO] | | +- org.apache.commons:commons-lang3:jar:3.2.1:compile
[INFO] | | +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.9.8:compile
[INFO] | | | \- org.yaml:snakeyaml:jar:1.23:compile
[INFO] | | \- io.swagger:swagger-models:jar:1.5.22:compile
[INFO] | +- javax.ws.rs:jsr311-api:jar:1.1.1:compile
[INFO] | +- org.reflections:reflections:jar:0.9.11:compile
[INFO] | \- com.google.guava:guava:jar:27.0.1-android:compile
[INFO] | +- com.google.guava:failureaccess:jar:1.0.1:compile
[INFO] | +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
[INFO] | +- com.google.code.findbugs:jsr305:jar:3.0.2:compile
[INFO] | +- org.checkerframework:checker-compat-qual:jar:2.5.2:compile
[INFO] | +- com.google.errorprone:error_prone_annotations:jar:2.2.0:compile
[INFO] | +- com.google.j2objc:j2objc-annotations:jar:1.1:compile
[INFO] | \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.17:compile
[INFO] +- org.jboss.resteasy:resteasy-jaxrs:jar:2.3.2.Final:compile
[INFO] | +- org.jboss.resteasy:jaxrs-api:jar:2.3.2.Final:compile
[INFO] | +- org.scannotation:scannotation:jar:1.0.3:compile
[INFO] | | \- javassist:javassist:jar:3.12.1.GA:compile
[INFO] | +- javax.annotation:jsr250-api:jar:1.0:compile
[INFO] | +- javax.activation:activation:jar:1.1:compile
[INFO] | +- commons-httpclient:commons-httpclient:jar:3.1:compile
[INFO] | | \- commons-codec:commons-codec:jar:1.2:compile
[INFO] | +- org.apache.httpcomponents:httpclient:jar:4.1.2:compile
[INFO] | | \- org.apache.httpcomponents:httpcore:jar:4.1.2:compile
[INFO] | \- net.jcip:jcip-annotations:jar:1.0:compile
[INFO] +- org.springframework:spring-web:jar:3.2.6.RELEASE:compile
[INFO] | +- aopalliance:aopalliance:jar:1.0:compile
[INFO] | +- org.springframework:spring-aop:jar:3.2.6.RELEASE:compile
[INFO] | +- org.springframework:spring-beans:jar:3.2.6.RELEASE:compile
[INFO] | +- org.springframework:spring-context:jar:3.2.6.RELEASE:compile
[INFO] | | \- org.springframework:spring-expression:jar:3.2.6.RELEASE:compile
[INFO] | \- org.springframework:spring-core:jar:3.2.6.RELEASE:compile
[INFO] +- io.springfox:springfox-swagger2:jar:2.0.1:compile
[INFO] | +- org.mapstruct:mapstruct:jar:1.0.0.Beta4:compile
[INFO] | +- com.wordnik:swagger-annotations:jar:1.5.3-M1:compile
[INFO] | +- com.wordnik:swagger-models:jar:1.5.3-M1:compile
[INFO] | +- io.springfox:springfox-spi:jar:2.0.1:compile
[INFO] | | \- io.springfox:springfox-core:jar:2.0.1:compile
[INFO] | +- io.springfox:springfox-schema:jar:2.0.1:compile
[INFO] | +- io.springfox:springfox-swagger-common:jar:2.0.1:compile
[INFO] | +- com.fasterxml:classmate:jar:1.1.0:compile
[INFO] | +- joda-time:joda-time:jar:2.7:compile
[INFO] | +- org.springframework.plugin:spring-plugin-core:jar:1.2.0.RELEASE:compile
[INFO] | +- org.springframework.plugin:spring-plugin-metadata:jar:1.2.0.RELEASE:compile
[INFO] | \- org.springframework.hateoas:spring-hateoas:jar:0.17.0.RELEASE:compile
[INFO] | +- org.springframework:spring-webmvc:jar:4.0.9.RELEASE:compile
[INFO] | \- org.objenesis:objenesis:jar:2.1:compile
[INFO] +- org.apache.commons:commons-csv:jar:1.1:compile
[INFO] \- com.fasterxml.jackson.core:jackson-databind:jar:2.9.9.1:compile
[INFO] +- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile
[INFO] \- com.fasterxml.jackson.core:jackson-core:jar:2.9.9:compile
I created a simple project
<dependencies>
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-mvc-jsp</artifactId>
<version>2.23.1</version>
</dependency>
</dependencies>
Next, I ran
mvn dependency:tree
Results:
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) # asd ---
[INFO] sdddas:asd:war:1.0-SNAPSHOT
[INFO] \- org.glassfish.jersey.ext:jersey-mvc-jsp:jar:2.23.1:compile
[INFO] +- org.glassfish.hk2.external:javax.inject:jar:2.4.0-b34:compile
[INFO] +- org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.23.1:compile
[INFO] | +- org.glassfish.jersey.core:jersey-common:jar:2.23.1:compile
[INFO] | | +- javax.annotation:javax.annotation-api:jar:1.2:compile
[INFO] | | +- org.glassfish.jersey.bundles.repackaged:jersey-guava:jar:2.23.1:compile
[INFO] | | +- org.glassfish.hk2:hk2-api:jar:2.4.0-b34:compile
[INFO] | | | +- org.glassfish.hk2:hk2-utils:jar:2.4.0-b34:compile
[INFO] | | | \- org.glassfish.hk2.external:aopalliance-repackaged:jar:2.4.0-b34:compile
[INFO] | | +- org.glassfish.hk2:hk2-locator:jar:2.4.0-b34:compile
[INFO] | | | \- org.javassist:javassist:jar:3.18.1-GA:compile
[INFO] | | \- org.glassfish.hk2:osgi-resource-locator:jar:1.0.1:compile
[INFO] | \- org.glassfish.jersey.core:jersey-server:jar:2.23.1:compile
[INFO] | +- org.glassfish.jersey.core:jersey-client:jar:2.23.1:compile
[INFO] | +- org.glassfish.jersey.media:jersey-media-jaxb:jar:2.23.1:compile
[INFO] | \- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] +- org.glassfish.jersey.ext:jersey-mvc:jar:2.23.1:compile
[INFO] | \- javax.servlet:servlet-api:jar:2.4:compile
[INFO] \- javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile
[INFO] ------------------------------------------------------------------------
Then
mvn package
As result I see war file with servlet-api-2.4.jar in WEB-INF/lib
Why? If I look at jersey-mvc-jsp.pom, I see
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${servlet2.version}</version>
<scope>provided</scope>
</dependency>
I define the same dependency in my pom file, set scope to provided, and now my war file does not contain servlet-api-2.4.jar. But I still don't understand why maven put it there
I have an interesting issue and have not been able to find a solution anywhere. I am trying to integrate spring cloud consul to my existing spring boot service application. So far all I have done is add the spring cloud consul dependencies to my POM. I have made zero changes to any classes in my service application.
I originally had changes to my classes, but kept getting this error. I thought maybe something I changed in the code caused it, but no.. that wasn't it. It is giving me this error just from adding it to the POM. To clarify, I can mvn clean compile package successfully, error is only when I try to run my spring boot application.
I followed this guide exactly: http://cloud.spring.io/spring-cloud-consul/ to add dependencies to my POM.
Here is the error:
java -jar ./target/app.jar --endpoints.restart.enabled=true --endpoints.shutdown.enabled=true --logging.config=file:./config/logback.xml
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:53)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Failed to introspect annotations: class org.springframework.cloud.consul.config.ConsulConfigBootstrapConfiguration
at org.springframework.core.annotation.AnnotatedElementUtils.process(AnnotatedElementUtils.java:166)
at org.springframework.core.annotation.AnnotatedElementUtils.isAnnotated(AnnotatedElementUtils.java:73)
at org.springframework.core.type.StandardAnnotationMetadata.isAnnotated(StandardAnnotationMetadata.java:102)
at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:74)
at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:64)
at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.registerBean(AnnotatedBeanDefinitionReader.java:140)
at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.registerBean(AnnotatedBeanDefinitionReader.java:127)
at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.register(AnnotatedBeanDefinitionReader.java:122)
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:159)
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:135)
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:127)
at org.springframework.boot.SpringApplication.load(SpringApplication.java:615)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:139)
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:125)
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:75)
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:1)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:151)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:128)
at org.springframework.boot.context.event.EventPublishingRunListener.publishEvent(EventPublishingRunListener.java:100)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:59)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:285)
at com.idanalytics.service.ServiceApplication.main(ServiceApplication.java:41)
... 6 more
Caused by: java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
at sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:724)
at sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:531)
at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:355)
at sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:286)
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:120)
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:72)
at java.lang.Class.createAnnotationData(Class.java:3521)
at java.lang.Class.annotationData(Class.java:3510)
at java.lang.Class.getAnnotations(Class.java:3446)
at org.springframework.core.annotation.AnnotatedElementUtils.doProcess(AnnotatedElementUtils.java:192)
at org.springframework.core.annotation.AnnotatedElementUtils.doProcess(AnnotatedElementUtils.java:209)
at org.springframework.core.annotation.AnnotatedElementUtils.process(AnnotatedElementUtils.java:162)
... 28 more
Any ideas on what could be the problem? I haven't added any new annotations. The app works fine when I remove the consul dependencies from my POM file.
EDIT: Here is the dependency tree
[INFO] com.internal:test-service:jar:1.0.0-SNAPSHOT
[INFO] +- org.springframework.boot:spring-boot-starter:jar:1.2.3.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot:jar:1.2.3.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-autoconfigure:jar:1.2.3.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-logging:jar:1.2.3.RELEASE:compile
[INFO] | | +- org.slf4j:jcl-over-slf4j:jar:1.7.11:compile
[INFO] | | | \- org.slf4j:slf4j-api:jar:1.7.11:compile
[INFO] | | +- org.slf4j:jul-to-slf4j:jar:1.7.11:compile
[INFO] | | +- org.slf4j:log4j-over-slf4j:jar:1.7.11:compile
[INFO] | | \- ch.qos.logback:logback-classic:jar:1.1.3:compile
[INFO] | | \- ch.qos.logback:logback-core:jar:1.1.3:compile
[INFO] | +- org.springframework:spring-core:jar:4.1.6.RELEASE:compile
[INFO] | \- org.yaml:snakeyaml:jar:1.14:compile
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:1.2.3.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-tomcat:jar:1.2.3.RELEASE:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-core:jar:8.0.20:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-el:jar:8.0.20:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-logging-juli:jar:8.0.20:compile
[INFO] | | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:8.0.20:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.4.5:compile
[INFO] | | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.4.5:compile
[INFO] | | \- com.fasterxml.jackson.core:jackson-core:jar:2.4.5:compile
[INFO] | +- org.hibernate:hibernate-validator:jar:5.1.3.Final:compile
[INFO] | | +- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] | | +- org.jboss.logging:jboss-logging:jar:3.1.3.GA:compile
[INFO] | | \- com.fasterxml:classmate:jar:1.0.0:compile
[INFO] | +- org.springframework:spring-web:jar:4.1.6.RELEASE:compile
[INFO] | \- org.springframework:spring-webmvc:jar:4.1.6.RELEASE:compile
[INFO] | \- org.springframework:spring-expression:jar:4.1.6.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-actuator:jar:1.2.3.RELEASE:compile
[INFO] | \- org.springframework.boot:spring-boot-actuator:jar:1.2.3.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-integration:jar:1.2.3.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-aop:jar:1.2.3.RELEASE:compile
[INFO] | | +- org.aspectj:aspectjrt:jar:1.8.5:compile
[INFO] | | \- org.aspectj:aspectjweaver:jar:1.8.5:compile
[INFO] | +- org.springframework:spring-messaging:jar:4.1.6.RELEASE:compile
[INFO] | +- org.springframework:spring-tx:jar:4.1.6.RELEASE:compile
[INFO] | +- org.springframework.integration:spring-integration-core:jar:4.1.2.RELEASE:compile
[INFO] | | +- org.projectreactor:reactor-core:jar:1.1.6.RELEASE:compile
[INFO] | | | +- com.goldmansachs:gs-collections:jar:5.1.0:compile
[INFO] | | | | \- com.goldmansachs:gs-collections-api:jar:5.1.0:compile
[INFO] | | | +- com.lmax:disruptor:jar:3.2.1:compile
[INFO] | | | \- io.gatling:jsr166e:jar:1.0:compile
[INFO] | | \- org.springframework.retry:spring-retry:jar:1.1.1.RELEASE:compile
[INFO] | +- org.springframework.integration:spring-integration-file:jar:4.1.2.RELEASE:compile
[INFO] | | \- commons-io:commons-io:jar:2.4:compile
[INFO] | +- org.springframework.integration:spring-integration-http:jar:4.1.2.RELEASE:compile
[INFO] | +- org.springframework.integration:spring-integration-ip:jar:4.1.2.RELEASE:compile
[INFO] | \- org.springframework.integration:spring-integration-stream:jar:4.1.2.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-jdbc:jar:1.2.3.RELEASE:compile
[INFO] | +- org.springframework:spring-jdbc:jar:4.1.6.RELEASE:compile
[INFO] | \- org.apache.tomcat:tomcat-jdbc:jar:8.0.20:compile
[INFO] | \- org.apache.tomcat:tomcat-juli:jar:8.0.20:compile
[INFO] +- org.springframework.cloud:spring-cloud-starter-consul-all:jar:1.0.1.RELEASE:compile
[INFO] | +- org.springframework.cloud:spring-cloud-starter-consul-config:jar:1.0.1.RELEASE:compile
[INFO] | | +- org.springframework.cloud:spring-cloud-starter-consul:jar:1.0.1.RELEASE:compile
[INFO] | | | +- org.springframework.cloud:spring-cloud-commons:jar:1.1.0.RELEASE:compile
[INFO] | | | +- org.springframework.cloud:spring-cloud-consul-core:jar:1.0.1.RELEASE:compile
[INFO] | | | +- com.ecwid.consul:consul-api:jar:1.1.10:compile
[INFO] | | | \- com.google.code.gson:gson:jar:2.3.1:compile
[INFO] | | +- org.springframework.cloud:spring-cloud-consul-config:jar:1.0.1.RELEASE:compile
[INFO] | | \- org.springframework.cloud:spring-cloud-context:jar:1.1.0.RELEASE:compile
[INFO] | \- org.springframework.cloud:spring-cloud-starter-consul-discovery:jar:1.0.1.RELEASE:compile
[INFO] | +- org.springframework.cloud:spring-cloud-consul-discovery:jar:1.0.1.RELEASE:compile
[INFO] | +- org.springframework.cloud:spring-cloud-netflix-core:jar:1.1.1.RELEASE:compile
[INFO] | +- org.springframework.cloud:spring-cloud-starter-ribbon:jar:1.1.1.RELEASE:compile
[INFO] | | +- org.springframework.cloud:spring-cloud-starter:jar:1.1.0.RELEASE:compile
[INFO] | | | \- org.springframework.security:spring-security-rsa:jar:1.0.1.RELEASE:compile
[INFO] | | | \- org.bouncycastle:bcpkix-jdk15on:jar:1.47:compile
[INFO] | | | \- org.bouncycastle:bcprov-jdk15on:jar:1.47:compile
[INFO] | | +- org.springframework.cloud:spring-cloud-starter-archaius:jar:1.1.1.RELEASE:compile
[INFO] | | | +- com.netflix.archaius:archaius-core:jar:0.7.4:compile
[INFO] | | | | \- com.google.code.findbugs:jsr305:jar:3.0.1:runtime
[INFO] | | | +- commons-configuration:commons-configuration:jar:1.8:compile
[INFO] | | | | \- commons-logging:commons-logging:jar:1.1.1:compile
[INFO] | | | \- com.google.guava:guava:jar:18.0:compile
[INFO] | | +- com.netflix.ribbon:ribbon:jar:2.2.0:compile
[INFO] | | | +- com.netflix.ribbon:ribbon-transport:jar:2.2.0:runtime
[INFO] | | | | +- io.reactivex:rxnetty-contexts:jar:0.4.9:runtime
[INFO] | | | | \- io.reactivex:rxnetty-servo:jar:0.4.9:runtime
[INFO] | | | +- com.netflix.hystrix:hystrix-core:jar:1.5.3:runtime
[INFO] | | | | \- org.hdrhistogram:HdrHistogram:jar:2.1.7:runtime
[INFO] | | | +- javax.inject:javax.inject:jar:1:runtime
[INFO] | | | \- io.reactivex:rxnetty:jar:0.4.9:runtime
[INFO] | | | +- io.netty:netty-codec-http:jar:4.0.27.Final:runtime
[INFO] | | | | +- io.netty:netty-codec:jar:4.0.27.Final:runtime
[INFO] | | | | \- io.netty:netty-handler:jar:4.0.27.Final:runtime
[INFO] | | | \- io.netty:netty-transport-native-epoll:jar:4.0.27.Final:runtime
[INFO] | | | +- io.netty:netty-common:jar:4.0.27.Final:runtime
[INFO] | | | +- io.netty:netty-buffer:jar:4.0.27.Final:runtime
[INFO] | | | \- io.netty:netty-transport:jar:4.0.27.Final:runtime
[INFO] | | +- com.netflix.ribbon:ribbon-core:jar:2.2.0:compile
[INFO] | | | \- commons-lang:commons-lang:jar:2.6:compile
[INFO] | | +- com.netflix.ribbon:ribbon-httpclient:jar:2.2.0:compile
[INFO] | | | +- commons-collections:commons-collections:jar:3.2.1:runtime
[INFO] | | | +- com.sun.jersey.contribs:jersey-apache-client4:jar:1.19.1:runtime
[INFO] | | | +- com.netflix.servo:servo-core:jar:0.10.1:runtime
[INFO] | | | | \- com.netflix.servo:servo-internal:jar:0.10.1:runtime
[INFO] | | | \- com.netflix.netflix-commons:netflix-commons-util:jar:0.1.1:runtime
[INFO] | | +- com.netflix.ribbon:ribbon-loadbalancer:jar:2.2.0:compile
[INFO] | | | \- com.netflix.netflix-commons:netflix-statistics:jar:0.1.1:runtime
[INFO] | | \- io.reactivex:rxjava:jar:1.1.5:compile
[INFO] | \- joda-time:joda-time:jar:2.5:compile
[INFO] +- mysql:mysql-connector-java:jar:5.1.6:compile
[INFO] +- org.springframework.cloud:spring-cloud-config-client:jar:1.0.0.RELEASE:compile
[INFO] | \- org.springframework.security:spring-security-crypto:jar:3.2.7.RELEASE:compile
[INFO] +- com.internal:rest-utility:jar:1.0.3:compile
[INFO] +- org.apache.httpcomponents:httpclient:jar:4.3.2:compile
[INFO] | +- org.apache.httpcomponents:httpcore:jar:4.4.1:compile
[INFO] | \- commons-codec:commons-codec:jar:1.6:compile
[INFO] +- org.springframework:spring-jms:jar:4.1.6.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:4.1.6.RELEASE:compile
[INFO] | | \- aopalliance:aopalliance:jar:1.0:compile
[INFO] | +- org.springframework:spring-beans:jar:4.1.6.RELEASE:compile
[INFO] | \- org.springframework:spring-context:jar:4.1.6.RELEASE:compile
[INFO] +- org.springframework.integration:spring-integration-jms:jar:4.1.2.RELEASE:compile
[INFO] +- com.swiftmq:springsupport:jar:9.0.0:compile
[INFO] +- javax.jms:jms-api:jar:1.1-rev-1:compile
[INFO] +- com.swiftmq:swiftmq:jar:9.0.0:compile
[INFO] +- org.apache.commons:commons-lang3:jar:3.4:compile
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:1.2.3.RELEASE:test
[INFO] | +- org.mockito:mockito-core:jar:1.10.19:test
[INFO] | | \- org.objenesis:objenesis:jar:2.1:test
[INFO] | +- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] | +- org.hamcrest:hamcrest-library:jar:1.3:test
[INFO] | \- org.springframework:spring-test:jar:4.1.6.RELEASE:test
[INFO] +- com.internal:keystore-client:jar:2.46.0:compile
[INFO] | +- com.sun.jersey:jersey-client:jar:1.19.1:compile
[INFO] | | \- com.sun.jersey:jersey-core:jar:1.19.1:compile
[INFO] | | \- javax.ws.rs:jsr311-api:jar:1.1.1:compile
[INFO] | +- com.sun.jersey:jersey-json:jar:1.7:compile
[INFO] | | +- org.codehaus.jettison:jettison:jar:1.1:compile
[INFO] | | | \- stax:stax-api:jar:1.0.1:compile
[INFO] | | +- com.sun.xml.bind:jaxb-impl:jar:2.2.3-1:compile
[INFO] | | | \- javax.xml.bind:jaxb-api:jar:2.2.2:compile
[INFO] | | | +- javax.xml.stream:stax-api:jar:1.0-2:compile
[INFO] | | | \- javax.activation:activation:jar:1.1:compile
[INFO] | | +- org.codehaus.jackson:jackson-core-asl:jar:1.7.1:compile
[INFO] | | +- org.codehaus.jackson:jackson-mapper-asl:jar:1.7.1:compile
[INFO] | | +- org.codehaus.jackson:jackson-jaxrs:jar:1.7.1:compile
[INFO] | | \- org.codehaus.jackson:jackson-xc:jar:1.7.1:compile
[INFO] | +- net.iharder:base64:jar:2.3.8:compile
[INFO] | +- commons-pool:commons-pool:jar:1.6:compile
[INFO] | \- log4j:log4j:jar:1.2.17:compile
[INFO] +- junit:junit:jar:4.12:test
[INFO] \- org.mockito:mockito-all:jar:1.10.19:test
EDIT: I changed the version specified with my maven plugin to 1.3.5 and am now getting a different error. Here is my POM:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.internal</groupId>
<artifactId>service-parent</artifactId>
<version>1.0.4</version>
</parent>
<artifactId>testSVC</artifactId>
<groupId>com.internal</groupId>
<version>1.0.0-SNAPSHOT</version>
<name>Test Service</name>
<description>My first service</description>
<properties>
<main.basedir>${basedir}/../..</main.basedir>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-integration</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-all</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
<!-- <scope>runtime</scope> -->
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
<version>${spring-cloud-config-ga}</version>
</dependency>
<dependency>
<groupId>com.internal</groupId>
<artifactId>rest-utility</artifactId>
<version>[1.0.0,1.0.99)</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-jms</artifactId>
</dependency>
<dependency>
<groupId>com.swiftmq</groupId>
<artifactId>springsupport</artifactId>
<version>${swiftmq-version}</version>
</dependency>
<dependency>
<groupId>javax.jms</groupId>
<artifactId>jms-api</artifactId>
</dependency>
<dependency>
<groupId>com.swiftmq</groupId>
<artifactId>swiftmq</artifactId>
<version>${swiftmq-version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.3.5.RELEASE</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptor>src/assembly/bin.xml</descriptor>
<finalName>testSVC</finalName>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-consul-dependencies</artifactId>
<version>1.0.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
new error:
Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:62)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
... 1 more
Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/Banner$Mode
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:121)
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:84)
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:1)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:151)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:128)
at org.springframework.boot.context.event.EventPublishingRunListener.publishEvent(EventPublishingRunListener.java:100)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:59)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:285)
at com.idanalytics.service.ServiceApplication.main(ServiceApplication.java:38)
... 6 more
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.Banner$Mode
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at org.springframework.boot.loader.LaunchedURLClassLoader.doLoadClass(LaunchedURLClassLoader.java:178)
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:142)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
Are you mixing two different versions of Spring? Can you include the output of mvn dependency:tree here?
Update
Based on the output of mvn dependency:tree, I can see that adding the dependency org.springframework.cloud:spring-cloud-starter-consul-all:1.0.1.RELEASE normally depends on Spring Boot 1.3.5.RELEASE, but you are including an older Spring Boot 1.2.3.RELEASE version in your POM.
Can you update your POM to use a consistent 1.3.5.RELEASE version of Spring Boot? If possible, try to remove any explicit dependency declarations for Spring Boot and Spring Framework in your POM , and let spring-cloud-starter-consul-all include them for you.
After executing mvn dependency:tree, I got the following output:
[INFO] stpr:stpr:war:1.0
[INFO] +- org.jboss.spec:jboss-javaee-6.0:pom:1.0.0.Final:provided
[INFO] | +- org.jboss.spec.javax.annotation:jboss-annotations-api_1.1_spec:jar:
1.0.0.Final:provided
[INFO] | +- org.jboss.spec.javax.resource:jboss-connector-api_1.5_spec:jar:1.0.
0.Final:provided
[INFO] | +- org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec:jar:1.0.0.Final:pro
vided
[INFO] | | \- javax.xml:jaxrpc-api:jar:1.1:provided
[INFO] | +- org.jboss.spec.javax.el:jboss-el-api_2.2_spec:jar:1.0.0.Final:provi
ded
[INFO] | +- org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.1_spec:ja
r:1.0.0.Final:provided
[INFO] | +- org.jboss.spec.javax.security.jacc:jboss-jacc-api_1.4_spec:jar:1.0.
0.Final:provided
[INFO] | +- org.jboss.spec.javax.enterprise.deploy:jboss-jad-api_1.2_spec:jar:1
.0.0.Final:provided
[INFO] | +- org.jboss.spec.javax.security.auth.message:jboss-jaspi-api_1.0_spec
:jar:1.0.0.Final:provided
[INFO] | +- org.jboss.spec.javax.xml.registry:jboss-jaxr-api_1.0_spec:jar:1.0.0
.Final:provided
[INFO] | +- org.jboss.spec.javax.jms:jboss-jms-api_1.1_spec:jar:1.0.0.Final:pro
vided
[INFO] | +- org.jboss.spec.javax.servlet.jsp:jboss-jsp-api_2.2_spec:jar:1.0.0.F
inal:provided
[INFO] | +- org.jboss.spec.javax.servlet:jboss-servlet-api_3.0_spec:jar:1.0.0.F
inal:provided
[INFO] | +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar
:1.0.0.Final:provided
[INFO] | +- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.2_spec:jar:1.0.0.Fin
al:provided
[INFO] | +- org.jboss.spec.javax.xml.rpc:jboss-jaxrpc-api_1.1_spec:jar:1.0.0.Fi
nal:provided
[INFO] | +- org.jboss.spec.javax.xml.soap:jboss-saaj-api_1.3_spec:jar:1.0.0.Fin
al:provided
[INFO] | +- org.jboss.spec.javax.xml.ws:jboss-jaxws-api_2.2_spec:jar:1.0.0.Fina
l:provided
[INFO] | +- javax.activation:activation:jar:1.1:provided
[INFO] | +- javax.enterprise:cdi-api:jar:1.0-SP4:provided
[INFO] | +- com.sun.faces:jsf-api:jar:2.0.3-b05:provided
[INFO] | +- javax.inject:javax.inject:jar:1:provided
[INFO] | +- javax.jws:jsr181-api:jar:1.0-MR1:provided
[INFO] | +- javax.mail:mail:jar:1.4.2:provided
[INFO] | +- javax.servlet:jstl:jar:1.2:provided
[INFO] | +- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.0.Fin
al:provided
[INFO] | +- org.jboss.resteasy:jaxrs-api:jar:2.1.0.GA:provided
[INFO] | +- stax:stax-api:jar:1.0.1:provided
[INFO] | \- javax.validation:validation-api:jar:1.0.0.GA:provided
[INFO] \- javax.transaction:javax.transaction-api:jar:1.2-b03:compile
My question is why javax.transaction-api:jar:1.2-b03:compile were excluded? I didn't specify any exclusion explicitly. What's wrong?
The pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>gr</groupId>
<artifactId>ar</artifactId>
<packaging>war</packaging>
<version>1.0</version>
<name>nm</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-6.0</artifactId>
<version>1.0.0.Final</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>javax.transaction-api</artifactId>
<version>1.2-b03</version>
</dependency>
</dependencies>
<profiles>
<!-- profiles here -->
</profiles>
</project>
The output does not show any exclusion for the dependency. In fact, if the dependency were excluded, it would not have been shown in the dependency tree. By looking at the tree, the dependency is shown in the last line:
[INFO] \- javax.transaction:javax.transaction-api:jar:1.2-b03:compile
Maybe you need to update your maven project to reload the dependencies.