[ https://issues.apache.org/jira/browse/TIKA-3817?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andre Nel updated TIKA-3817: ---------------------------- Environment: Java 1.8 Maven Project tika-app 2.4.1 jackson 2.13.3 azure-core 1.30.0 (was: Java 1.8 Maven Pom) > Azure Graph conflict with Tika-app on jackson (JsonGenerator) version - > changing from 2.13.3 to 2.4.1 > ----------------------------------------------------------------------------------------------------- > > Key: TIKA-3817 > URL: https://issues.apache.org/jira/browse/TIKA-3817 > Project: Tika > Issue Type: Bug > Components: app > Affects Versions: 2.4.1 > Environment: Java 1.8 Maven Project tika-app 2.4.1 jackson 2.13.3 > azure-core 1.30.0 > Reporter: Andre Nel > Priority: Major > Labels: Azure, jackson, tika-app, version > > Azure Graph conflict on jackson. > Both Tika-app 2.4.1 and Azure-core 1.30.0 use jars with classes of the same > name JsonGenerator (com.fasterxml.jackson.core.JsonGenerator) when fetching > the jackson version, of which jackson-core 2.13.3 is desired and set in the > pom. This results in version conflict - where tika changes the jackson > version from the desired 2.13.3 to tika's version 2.4.1, which doesn't even > exist for jackson and would be far too old a version of jackson. > > ERROR [main] 12:03:19,483 > com.azure.core.implementation.jackson.JacksonVersion Version '2.4.1' of > package 'jackson-annotations' is not supported (older than earliest supported > version - `2.10.0`), please upgrade. > ERROR [main] 12:03:19,489 > com.azure.core.implementation.jackson.JacksonVersion Version '2.4.1' of > package 'jackson-core' is not supported (older than earliest supported > version - `2.10.0`), please upgrade. > ERROR [main] 12:03:19,489 > com.azure.core.implementation.jackson.JacksonVersion Version '2.4.1' of > package 'jackson-databind' is not supported (older than earliest supported > version - `2.10.0`), please upgrade. > INFO [main] 12:03:19,491 > com.azure.core.implementation.jackson.JacksonVersion Package versions: > jackson-annotations=2.4.1, jackson-core=2.4.1, jackson-databind=2.4.1, > jackson-dataformat-xml=unknown, jackson-datatype-jsr310=2.13.3, > azure-core=1.30.0, Troubleshooting version conflicts: > [https://aka.ms/azsdk/java/dependency/troubleshoot] > ERROR [main] 12:03:19,494 > com.azure.core.implementation.jackson.ObjectMapperShim Package versions: > jackson-annotations=2.4.1, jackson-core=2.4.1, jackson-databind=2.4.1, > jackson-dataformat-xml=unknown, jackson-datatype-jsr310=2.13.3, > azure-core=1.30.0, Troubleshooting version conflicts: > [https://aka.ms/azsdk/java/dependency/troubleshoot] > Exception in thread "main" java.lang.LinkageError: Package versions: > jackson-annotations=2.4.1, jackson-core=2.4.1, jackson-databind=2.4.1, > jackson-dataformat-xml=unknown, jackson-datatype-jsr310=2.13.3, > azure-core=1.30.0, Troubleshooting version conflicts: > [https://aka.ms/azsdk/java/dependency/troubleshoot] > at > com.azure.core.implementation.jackson.ObjectMapperShim.createHeaderMapper(ObjectMapperShim.java:138) > at > com.azure.core.util.serializer.JacksonAdapter.<init>(JacksonAdapter.java:81) > at > com.azure.core.util.serializer.JacksonAdapter.<init>(JacksonAdapter.java:59) > at > com.azure.core.util.serializer.JacksonAdapter$SerializerAdapterHolder.<clinit>(JacksonAdapter.java:114) > at > com.azure.core.util.serializer.JacksonAdapter.createDefaultSerializerAdapter(JacksonAdapter.java:123) > at > com.azure.identity.implementation.IdentityClient.<clinit>(IdentityClient.java:104) > at > com.azure.identity.implementation.IdentityClientBuilder.build(IdentityClientBuilder.java:158) > at > com.azure.identity.ClientSecretCredential.<init>(ClientSecretCredential.java:68) > at > com.azure.identity.ClientSecretCredentialBuilder.build(ClientSecretCredentialBuilder.java:93) > at > main.java.emailtranslator.EmailTranslator.connectOffice365MicrosoftGraph > > My offending code: > final ClientSecretCredential clientSecretCredential = new > ClientSecretCredentialBuilder() > .clientId(clientId) > .clientSecret(clientSecret) > .tenantId(tenantId) > .build(); > final TokenCredentialAuthProvider tokenCredentialAuthProvider = > new TokenCredentialAuthProvider(scopes, clientSecretCredential); > final GraphServiceClient graphClient = > GraphServiceClient > .builder() > .authenticationProvider(tokenCredentialAuthProvider) > .buildClient(); > final User me = graphClient.me().buildRequest().get(); > > which calls azure-core-1.30.0.jar -> com.azure.core.implementation.jackson -> > JacksonVersion.class line 43 onwards: > private JacksonVersion() { > annotationsVersion = > SemanticVersion.getPackageVersionForClass("com.fasterxml.jackson.annotation.JsonProperty"); > coreVersion = > SemanticVersion.getPackageVersionForClass("com.fasterxml.jackson.core.JsonGenerator"); > databindVersion = > SemanticVersion.getPackageVersionForClass("com.fasterxml.jackson.databind.ObjectMapper"); > xmlVersion = > SemanticVersion.getPackageVersionForClass("com.fasterxml.jackson.dataformat.xml.XmlMapper"); > jsr310Version = > SemanticVersion.getPackageVersionForClass("com.fasterxml.jackson.datatype.jsr310.JavaTimeModule"); > > > > > Portions of My POM trying to resolve the conflict: > ... > <dependencyManagement> > <dependencies> > <dependency> > <groupId>com.fasterxml.jackson.core</groupId> > <artifactId>jackson-annotations</artifactId> > <version>2.13.3</version> > </dependency> > <dependency> > <groupId>com.fasterxml.jackson.core</groupId> > <artifactId>jackson-core</artifactId> > <version>2.13.3</version> > </dependency> > <dependency> > <groupId>com.fasterxml.jackson.core</groupId> > <artifactId>jackson-databind</artifactId> > <version>2.13.3</version> > </dependency> > <dependency> > <groupId>com.fasterxml.jackson.dataformat</groupId> > <artifactId>jackson-dataformat-xml</artifactId> > <version>2.13.3</version> > </dependency> > <dependency> > <groupId>com.fasterxml.jackson.datatype</groupId> > <artifactId>jackson-datatype-jsr310</artifactId> > <version>2.13.3</version> > </dependency> > </dependencies> > </dependencyManagement> > ... > <!-- [https://mvnrepository.com/artifact/com.azure/azure-core] --> > <dependency> > <groupId>com.azure</groupId> > <artifactId>azure-core</artifactId> > <version>1.30.0</version><!-{-}Jun, 2022{-}-> > <exclusions> > <exclusion> > <groupId>com.fasterxml.jackson.core</groupId> > <artifactId>jackson-annotations</artifactId> > </exclusion> > <exclusion> > <groupId>com.fasterxml.jackson.core</groupId> > <artifactId>jackson-core</artifactId> > </exclusion> > <exclusion> > <groupId>com.fasterxml.jackson.core</groupId> > <artifactId>jackson-databind</artifactId> > </exclusion> > <exclusion> > <groupId>com.fasterxml.jackson.dataformat</groupId> > <artifactId>jackson-dataformat-xml</artifactId> > </exclusion> > <exclusion> > <groupId>com.fasterxml.jackson.datatype</groupId> > <artifactId>jackson-datatype-jsr310</artifactId> > </exclusion> > </exclusions> > </dependency> > ... > <!-- > [https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations] > --> > <dependency> > <groupId>com.fasterxml.jackson.core</groupId> > <artifactId>jackson-annotations</artifactId> > <version>2.13.3</version> > <scope>provided</scope> > </dependency> > <!-- > [https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core] > --> > <dependency> > <groupId>com.fasterxml.jackson.core</groupId> > <artifactId>jackson-core</artifactId> > <version>2.13.3</version> > <scope>provided</scope> > </dependency> > <!-- > [https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind] > --> > <dependency> > <groupId>com.fasterxml.jackson.core</groupId> > <artifactId>jackson-databind</artifactId> > <version>2.13.3</version> > <scope>provided</scope> > </dependency> > <!-- > [https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-xml] > --> > <dependency> > <groupId>com.fasterxml.jackson.dataformat</groupId> > <artifactId>jackson-dataformat-xml</artifactId> > <version>2.13.3</version> > <scope>provided</scope> > </dependency> > <!-- > [https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jsr310] > --> > <dependency> > <groupId>com.fasterxml.jackson.datatype</groupId> > <artifactId>jackson-datatype-jsr310</artifactId> > <version>2.13.3</version> > <scope>provided</scope> > </dependency> > ... > <dependency> > <groupId>org.apache.tika</groupId> > <artifactId>tika-app</artifactId> > <version>2.4.1</version><!-{-}Jun, 2022{-}-> > <exclusions> > <exclusion> > <groupId>com.fasterxml.jackson.core</groupId> > <artifactId>jackson-annotations</artifactId> > </exclusion> > <exclusion> > <groupId>com.fasterxml.jackson.core</groupId> > <artifactId>jackson-core</artifactId> > </exclusion> > <exclusion> > <groupId>com.fasterxml.jackson.core</groupId> > <artifactId>jackson-databind</artifactId> > </exclusion> > <exclusion> > <groupId>com.fasterxml.jackson.dataformat</groupId> > <artifactId>jackson-dataformat-xml</artifactId> > </exclusion> > <exclusion> > <groupId>com.fasterxml.jackson.datatype</groupId> > <artifactId>jackson-datatype-jsr310</artifactId> > </exclusion> > </exclusions> > </dependency> -- This message was sent by Atlassian Jira (v8.20.10#820010)