apm-agent-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>co.elastic.apm</groupId> <artifactId>apm-agent-parent</artifactId> <version>1.55.0</version> </dependency>
<?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> <groupId>co.elastic.apm</groupId> <artifactId>apm-agent-parent</artifactId> <version>1.55.0</version> <packaging>pom</packaging> <name>${project.groupId}:${project.artifactId}</name> <inceptionYear>2018</inceptionYear> <organization> <name>Elastic Inc.</name> <url>https://www.elastic.co</url> </organization> <description>APM for Java applications with the Elastic stack</description> <url>https://github.com/elastic/apm-agent-java</url> <licenses> <license> <name>The Apache Software License, Version 2.0</name> <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> </license> </licenses> <scm> <connection>scm:git:git@github.com:elastic/apm-agent-java.git</connection> <developerConnection>scm:git:git@github.com:elastic/apm-agent-java.git</developerConnection> <url>https://github.com/elastic/apm-agent-java</url> <tag>HEAD</tag> </scm> <developers> <developer> <name>Elastic</name> <url>https://discuss.elastic.co/c/apm</url> <organization>Elastic Inc.</organization> <organizationUrl>https://www.elastic.co</organizationUrl> </developer> </developers> <prerequisites> <maven>3.8.3</maven> </prerequisites> <modules> <module>apm-agent-core</module> <module>elastic-apm-agent</module> <module>apm-agent-lambda-layer</module> <module>elastic-apm-agent-premain</module> <module>elastic-apm-agent-java8</module> <module>apm-agent-benchmarks</module> <module>apm-agent-plugins</module> <module>apm-agent-api</module> <module>integration-tests</module> <module>apm-agent-attach</module> <module>apm-agent-plugin-sdk</module> <module>apm-agent-bootstrap</module> <module>apm-agent-builds</module> <module>apm-agent-attach-cli</module> <module>apm-agent-common</module> <module>apm-agent-cached-lookup-key</module> <module>apm-agent-tracer</module> <module>apm-opentracing</module> </modules> <properties> <maven.compiler.target>7</maven.compiler.target> <maven.compiler.testTarget>11</maven.compiler.testTarget> <maven.compiler.source>${maven.compiler.target}</maven.compiler.source> <maven.compiler.testSource>${maven.compiler.testTarget}</maven.compiler.testSource> <animal.sniffer.skip>false</animal.sniffer.skip> <!-- mockserver-client does not work with the latest jackson version see https://github.com/jamesdbloom/mockserver/issues/440 --> <maven.compiler.showWarnings>true</maven.compiler.showWarnings> <maven.compiler.errorprone>true</maven.compiler.errorprone> <!-- do not use javax.tools and use javac instead, work around https://bugs.openjdk.java.net/browse/JDK-8216202 --> <maven.compiler.forceJavacCompilerUse>true</maven.compiler.forceJavacCompilerUse> <!-- -dependencies versions --> <version.error_prone>2.2.0</version.error_prone> <version.h2>1.4.196</version.h2> <version.junit>5.12.2</version.junit> <version.junit.vintage>4.13.2</version.junit.vintage> <version.okhttp>4.12.0</version.okhttp> <!-- this is the last version of slf4j that is compatible with Java 7--> <version.slf4j>1.7.36</version.slf4j> <!-- this is the last version of log4j that is compatible with Java 7. Due to a known vulnerability (https://nvd.nist.gov/vuln/detail/CVE-2020-9488#vulnCurrentDescriptionTitle), the SMTP appender is excluded from the build and not packaged into the agent artifacts --> <version.log4j>2.12.4</version.log4j> <version.ecs.logging>1.7.0</version.ecs.logging> <version.spring>5.0.15.RELEASE</version.spring> <version.jetty-server>9.4.11.v20180605</version.jetty-server> <version.json-schema-validator>1.5.8</version.json-schema-validator> <!-- Byte Buddy and ASM must be kept in sync --> <version.byte-buddy>1.17.6</version.byte-buddy> <version.asm>9.8</version.asm> <version.cucumber>5.4.0</version.cucumber> <version.mockito>5.18.0</version.mockito> <!-- used both for plugin & annotations dependency --> <version.animal-sniffer>1.17</version.animal-sniffer> <version.testcontainers>1.21.3</version.testcontainers> <!-- latest version compiled for java 11 --> <version.jsonunit>2.38.0</version.jsonunit> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <apm-agent-parent.base.dir>${project.basedir}</apm-agent-parent.base.dir> <skip.integration.test>false</skip.integration.test> <skip.unit.test>false</skip.unit.test> </properties> <profiles> <!-- This profile is needed to be active in IntelliJ as it does not understand that the tests have a different target version --> <profile> <id>IntelliJ</id> <activation> <activeByDefault>false</activeByDefault> <property> <!-- makes profile enabled in Intellij only --> <name>idea.maven.embedder.version</name> </property> </activation> <properties> <!-- use same java version as tests --> <maven.compiler.target>${maven.compiler.testTarget}</maven.compiler.target> <!-- used by IntelliJ to set per-module language level when target version is overriden in module --> <maven.compiler.source>${maven.compiler.testTarget}</maven.compiler.source> </properties> </profile> <profile> <id>ci-non-application-server-integration-tests</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <!-- By default, enables all integration tests. In integration-tests/application-server-integration-tests/pom.xml, only that module is excluded by overriding skip.integration.test to true. --> <skip.integration.test>false</skip.integration.test> <maven.javadoc.skip>true</maven.javadoc.skip> </properties> <build> <plugins> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <configuration> <skipTests>${skip.integration.test}</skipTests> <rerunFailingTestsCount>3</rerunFailingTestsCount> </configuration> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>ci-application-server-integration-tests</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <!-- By default, disables all integration tests. In integration-tests/application-server-integration-tests/pom.xml, only that module is included by overriding skip.integration.test to false. --> <skip.integration.test>true</skip.integration.test> <maven.javadoc.skip>true</maven.javadoc.skip> <animal.sniffer.skip>true</animal.sniffer.skip> </properties> <build> <plugins> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <configuration> <skipTests>${skip.integration.test}</skipTests> <rerunFailingTestsCount>3</rerunFailingTestsCount> </configuration> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> </build> </profile> <profile> <!-- copies behavior from app server tests for jboss --> <id>ci-jboss-integration-tests</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <!-- By default, disables all integration tests. In integration-tests/application-server-integration-tests/pom.xml, only that module is included by overriding skip.integration.test to false. --> <skip.integration.test>true</skip.integration.test> <maven.javadoc.skip>true</maven.javadoc.skip> <animal.sniffer.skip>true</animal.sniffer.skip> </properties> <build> <plugins> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <configuration> <skipTests>${skip.integration.test}</skipTests> <rerunFailingTestsCount>3</rerunFailingTestsCount> </configuration> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>different-test-jdk</id> <activation> <property> <name>test_java_binary</name> </property> </activation> <build> <plugins> <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <jvm>${test_java_binary}</jvm> </configuration> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <configuration> <jvm>${test_java_binary}</jvm> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>no-errorprone</id> <activation> <property> <name>!maven.compiler.errorprone</name> </property> </activation> </profile> <profile> <id>errorprone</id> <activation> <activeByDefault>false</activeByDefault> </activation> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <compilerId>javac-with-errorprone</compilerId> <annotationProcessorPaths> <path> <groupId>com.uber.nullaway</groupId> <artifactId>nullaway</artifactId> <version>0.4.1</version> </path> </annotationProcessorPaths> <compilerArgs> <arg>-Xep:NullAway:ERROR</arg> <arg>-XepOpt:NullAway:AnnotatedPackages=co.elastic.apm</arg> </compilerArgs> </configuration> <dependencies> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-compiler-javac-errorprone</artifactId> <version>2.8.3</version> </dependency> <!-- override plexus-compiler-javac-errorprone's dependency on Error Prone with the latest version --> <dependency> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_core</artifactId> <version>${version.error_prone}</version> </dependency> </dependencies> </plugin> </plugins> </build> </profile> <!-- Sign all artifacts (requires gpg installation). --> <profile> <id>gpg</id> <activation> <activeByDefault>false</activeByDefault> </activation> <build> <plugins> <plugin> <artifactId>maven-gpg-plugin</artifactId> <executions> <execution> <phase>verify</phase> <goals> <goal>sign</goal> </goals> <configuration> <gpgArguments> <arg>--pinentry-mode</arg> <arg>loopback</arg> </gpgArguments> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>2.16.2</version> </plugin> <plugin> <groupId>org.sonatype.central</groupId> <artifactId>central-publishing-maven-plugin</artifactId> <version>0.8.0</version> <extensions>true</extensions> <configuration> <publishingServerId>central</publishingServerId> <autoPublish>true</autoPublish> <excludeArtifacts> apm-agent-common,apm-agent-cached-lookup-key,apm-agent-bootstrap,apm-agent-core,elastic-apm-agent-premain,apm-agent-plugins,apm-httpclient-core,apm-apache-httpclient,apm-apache-httpclient3-plugin,apm-apache-httpclient-common,apm-apache-httpclient4-plugin,apm-apache-httpclient5-plugin,apm-api-plugin,apm-asynchttpclient-plugin,apm-java-concurrent-plugin,apm-cassandra,apm-cassandra-core-plugin,apm-cassandra3-plugin,apm-cassandra4-plugin,apm-okhttp-plugin,apm-dubbo-plugin,apm-es-restclient-plugin,apm-es-restclient-plugin-common,apm-es-restclient-plugin-5_6,apm-es-restclient-plugin-6_4,apm-es-restclient-plugin-7_x,apm-es-restclient-plugin-8_x,apm-grails-plugin,apm-grpc,apm-grpc-plugin,apm-hibernate-search-plugin,apm-hibernate-search-plugin-common,apm-hibernate-search-plugin-5_x,apm-hibernate-search-plugin-6_x,apm-httpserver-core,apm-servlet-plugin,apm-javalin-plugin,apm-jaxrs-plugin,apm-jaxws-plugin,apm-jdbc-plugin,apm-jdk-httpclient-plugin,apm-jdk-httpserver-plugin,apm-redis-plugin,apm-redis-common,apm-jedis-plugin,apm-jedis-4-plugin,apm-jms-plugin,apm-jms-plugin-base,apm-jms-javax,apm-jms-jakarta,apm-jmx-plugin,apm-jsf-plugin,apm-kafka-plugin,apm-kafka-base-plugin,apm-kafka-headers-plugin,apm-kafka-spring-plugin,apm-lettuce-plugin,apm-logging-plugin,apm-logging-plugin-common,apm-log4j1-plugin,apm-log4j2-plugin,apm-opentelemetry,apm-opentelemetry-embedded-metrics-sdk,apm-opentelemetry-metrics-bridge-parent,apm-opentelemetry-metrics-bridge-common,apm-opentelemetry-metrics-bridge-v1_14,apm-opentelemetry-metrics-bridge-latest,apm-opentelemetry-metricsdk-plugin,apm-opentelemetry-plugin,apm-slf4j-plugin,apm-logback-plugin,apm-logback-plugin-impl,apm-jboss-logging-plugin,apm-jul-plugin,apm-tomcat-logging-plugin,apm-micrometer-plugin,apm-mongodb,apm-mongodb-common,apm-mongodb3-plugin,apm-mongodb4-plugin,apm-opentracing-plugin,apm-process-plugin,apm-profiling-plugin,apm-quartz,apm-quartz-common,apm-quartz-plugin-1,apm-quartz-plugin-2,apm-rabbitmq,apm-rabbitmq-plugin,apm-rabbitmq-spring5,apm-reactor-plugin,apm-redisson-plugin,apm-scala-concurrent-plugin,apm-scheduled-annotation-plugin,apm-sparkjava-plugin,apm-urlconnection-plugin,apm-spring-resttemplate,apm-spring-resttemplate-plugin,apm-spring-webflux,apm-spring-webflux-common-spring5,apm-spring-webflux-common,apm-spring-webclient-plugin,apm-spring-webflux-testapp,apm-spring-webflux-spring5,apm-spring-webflux-plugin,apm-spring-webmvc,apm-spring-webmvc-spring5,apm-spring-webmvc-plugin,apm-struts-plugin,apm-vertx,apm-vertx-common,apm-vertx3-plugin,apm-vertx4-plugin,apm-awslambda-plugin,apm-jakarta-websocket-plugin,apm-ecs-logging-plugin,apm-aws-sdk,apm-aws-sdk-common,apm-aws-sdk-1-plugin,apm-aws-sdk-2-plugin,apm-finagle-httpclient-plugin,apm-java-ldap-plugin,apm-agent-builds,apm-agent,apm-agent-lambda-layer,apm-agent-java8,apm-agent-benchmarks,apm-spring-resttemplate-test,apm-spring-restclient-test,apm-logback-plugin-legacy-tests,apm-log4j2-plugin-tests,apm-jms-spring-plugin,apm-jedis-2-tests,apm-jedis-3-tests,apm-jedis-5-tests,apm-lettuce-3-tests,apm-grpc-test-1.6.1,apm-grpc-test-latest,apm-rabbitmq-test-3,apm-rabbitmq-test-4,apm-rabbitmq-test-spring6,apm-okhttp-test,apm-opentelemetry-test,apm-vertx3-test-latest,apm-servlet-jakarta-test,apm-jaxws-plugin-jakartaee-test,apm-jaxrs-plugin-jakartaee-test,apm-scheduled-annotation-plugin-jakartaee-test,integration-tests,simple-webapp,jakartaee-simple-webapp,jsf-app,jsf-app-dependent,jsf-app-standalone,jakartaee-jsf-app,jakartaee-jsf-app-dependent,jakartaee-jsf-app-standalone,cdi-app,cdi-app-dependent,cdi-app-standalone,soap-test,external-plugin-test,plugin-instrumentation-target,external-plugin-app,external-plugin-jakarta-app,external-plugin,application-server-integration-tests,spring-boot-1-5,spring-boot-2,spring-boot-2-base,spring-boot-2-jetty,spring-boot-2-tomcat,spring-boot-2-undertow,cdi-jakartaee-app,cdi-jakartaee-app-dependent,cdi-jakartaee-app-standalone,quarkus,quarkus-jaxrs-base,quarkus-jaxrs-undertow,quarkus-jaxrs-vertx,external-plugin-otel-test,external-plugin-otel-test-app,external-plugin-otel-test-plugin1,external-plugin-otel-test-plugin2,runtime-attach,runtime-attach-app,runtime-attach-test,main-app-test,spring-boot-3,spring-boot-3-jetty,spring-boot-3-tomcat,spring-boot-3-undertow,aws-lambda-test </excludeArtifacts> </configuration> </plugin> <!-- The shadowed source files of this module need to be included explicitly to create a javadoc artifact.--> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <additionalOptions>-html5</additionalOptions> <source>8</source> <detectJavaApiLink>false</detectJavaApiLink> </configuration> <executions> <execution> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <!-- Check that we don't accidentally use features only available in Java 8+ --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>animal-sniffer-maven-plugin</artifactId> <executions> <execution> <id>signature-check</id> <phase>verify</phase> <goals> <goal>check</goal> </goals> </execution> </executions> <configuration> <skip>${animal.sniffer.skip}</skip> <signature> <groupId>org.codehaus.mojo.signature</groupId> <artifactId>java17</artifactId> <version>1.0</version> </signature> <!--work around for https://github.com/mojohaus/animal-sniffer/issues/18--> <ignores>java.lang.invoke.MethodHandle</ignores> </configuration> </plugin> <plugin> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-java</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireJavaVersion> <version>${maven.compiler.testTarget}</version> </requireJavaVersion> </rules> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <enableAssertions>true</enableAssertions> <trimStackTrace>false</trimStackTrace> <rerunFailingTestsCount>3</rerunFailingTestsCount> </configuration> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> <plugin> <!-- Note that we don't actively use jacoco anymore, but for reasons beyond my understanding the tests will fail if we remove it. When removing jacoco, some tests will fail deterministically with a java.lang.VerifyError: null during retransformation of the classes under test. I extracted the bytecode from the failed tests and verified it manually using the ASM CheckClassAdapter, there the bytecode looks fine and is validated without issues. My best guess of an explanation for this behaviour is that we cause some kind of obscure JVM bug during our tests, because we continuously retransform classes. This "bug" seems to be prevented by having multiple agents in the JVM (e.g. running the tests from IntelliJ with IntelliJ's debug agent also makes them succeed. This seems to happen only due to the runtime attachment of the agent in the tests, because we have never seen these kinds of problems in production systems. So for now I've decided to just let it be and leave jacoco in here. --> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <configuration> <excludes> <exclude>**/*.esclazz</exclude> <exclude>**/*.jar</exclude> </excludes> </configuration> <executions> <execution> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>report</id> <phase>test</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> <!-- License headers --> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> <configuration> <licenseSets> <licenseSet> <header>${apm-agent-parent.base.dir}/licenses/apache2_license/apache2-license-header.txt</header> <includes> <include>**/*.java</include> </includes> </licenseSet> </licenseSets> </configuration> <executions> <execution> <id>update-license-headers</id> <goals> <goal>format</goal> </goals> <phase>process-sources</phase> </execution> <execution> <id>check-license-headers</id> <goals> <goal>check</goal> </goals> <phase>verify</phase> </execution> </executions> </plugin> </plugins> <pluginManagement> <!-- pin and set plugin versions at parent project level --> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.2.0</version> </plugin> <plugin> <artifactId>maven-source-plugin</artifactId> <version>3.2.0</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>3.5.2</version> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <version>3.5.2</version> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.3.2</version> </plugin> <plugin> <artifactId>maven-dependency-plugin</artifactId> <version>3.5.0</version> </plugin> <plugin> <artifactId>maven-release-plugin</artifactId> <version>2.5.3</version> </plugin> <plugin> <artifactId>maven-gpg-plugin</artifactId> <version>1.6</version> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.6.13</version> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>3.3.1</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>animal-sniffer-maven-plugin</artifactId> <version>${version.animal-sniffer}</version> </plugin> <plugin> <artifactId>maven-enforcer-plugin</artifactId> <version>3.0.0-M1</version> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.13</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>license-maven-plugin</artifactId> <version>1.19</version> </plugin> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> <version>4.1</version> </plugin> <plugin> <groupId>com.coderplus.maven.plugins</groupId> <artifactId>copy-rename-maven-plugin</artifactId> <version>1.0</version> </plugin> <plugin> <artifactId>maven-shade-plugin</artifactId> <version>3.6.0</version> <dependencies> <!-- work-around to support java 24 bytecode --> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> <version>${version.asm}</version> </dependency> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm-commons</artifactId> <version>${version.asm}</version> </dependency> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm-tree</artifactId> <version>${version.asm}</version> </dependency> </dependencies> </plugin> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.1.0</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>3.0.0-M1</version> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.1.0</version> </plugin> <plugin> <artifactId>maven-site-plugin</artifactId> <version>3.8.2</version> </plugin> <plugin> <artifactId>maven-antrun-plugin</artifactId> <version>3.0.0</version> </plugin> </plugins> </pluginManagement> <extensions> <extension> <groupId>io.opentelemetry.contrib</groupId> <artifactId>opentelemetry-maven-extension</artifactId> <version>1.7.0-alpha</version> </extension> </extensions> </build> <dependencyManagement> <dependencies> <dependency> <groupId>org.testcontainers</groupId> <artifactId>testcontainers-bom</artifactId> <version>${version.testcontainers}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>${version.junit}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson</groupId> <artifactId>jackson-bom</artifactId> <version>2.17.1</version> <scope>import</scope> <type>pom</type> </dependency> <dependency> <groupId>org.apache.ivy</groupId> <artifactId>ivy</artifactId> <version>2.5.3</version> <scope>test</scope> </dependency> <dependency> <groupId>org.stagemonitor</groupId> <artifactId>stagemonitor-configuration</artifactId> <version>0.87.3</version> </dependency> <!-- ensures that we always rely on a single bytebuddy version --> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <version>${version.byte-buddy}</version> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> <version>${version.byte-buddy}</version> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-dep</artifactId> <version>${version.byte-buddy}</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.codehaus.mojo</groupId> <artifactId>animal-sniffer-annotations</artifactId> <version>${version.animal-sniffer}</version> <optional>true</optional> <scope>provided</scope> </dependency> <dependency> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> <version>3.0.2</version> <optional>true</optional> <scope>provided</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>test</scope> </dependency> <!-- platform launcher is required for programmatic launching of JUnit5 tests --> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-launcher</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-params</artifactId> <scope>test</scope> </dependency> <!-- JUnit 4 to make legacy JUnit 4 tests compile --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${version.junit.vintage}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <version>3.27.3</version> <scope>test</scope> <exclusions> <exclusion> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <!-- conflicts with byte-buddy-dep --> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${version.mockito}</version> <scope>test</scope> <exclusions> <exclusion> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <!-- conflicts with byte-buddy-dep --> </exclusion> </exclusions> </dependency> <dependency> <!-- adding this to classpath allows to keep default behavior of mockito 4.x where mock subclassing is used. --> <groupId>org.mockito</groupId> <artifactId>mockito-subclass</artifactId> <version>${version.mockito}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.networknt</groupId> <artifactId>json-schema-validator</artifactId> <version>${version.json-schema-validator}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.12.0</version> <scope>test</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>net.javacrumbs.json-unit</groupId> <artifactId>json-unit-assertj</artifactId> <version>${version.jsonunit}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.github.tomakehurst</groupId> <artifactId>wiremock-jre8-standalone</artifactId> <version>2.35.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.awaitility</groupId> <artifactId>awaitility</artifactId> <version>4.3.0</version> <scope>test</scope> </dependency> </dependencies> </project>