[ https://issues.apache.org/jira/browse/FLINK-32237?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Samael Bate updated FLINK-32237: -------------------------------- Description: Because of the shaded Jackson packages having their package names prefixed, such as {_}org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.json.JsonMapper{_}, when writing a Flink project in Kotlin I am unable to register the _KotlinModule_ or use {_}jacksonObjectMapper(){_}. It would be great if these classes were repackaged using the same using the same _org.apache.flink.shaded.jackson2.*_ prefix: {code:java} import com.fasterxml.jackson.module.kotlin.KotlinModule import com.fasterxml.jackson.module.kotlin.jacksonMapperBuilder import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper {code} Due to the mismatch in package names I can do neither of the following: {code:java} val jsonMapper = jacksonMapperBuilder() .addModule(JavaTimeModule()) .build() {code} or {code:java} val jsonMapper = JsonMapper() .registerModule(KotlinModule()) {code} the Kotlin module inherits from {{com.fasterxml.jackson.databind.Module}} and the re-packaged ones are inheriting from {{{}[org.apache.flink.shaded.jackson2.com|http://org.apache.flink.shaded.jackson2.com/]{}}}{{{}.fasterxml.jackson.databind.Module{}}}. For now I can work around this with a wrapper class but it would be nice to have this available out of the box. was: Because of the shaded Jackson packages having their package names prefixed, such as {_}org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.json.JsonMapper{_}, when writing a Flink project in Kotlin I am unable to register the _KotlinModule_ or use {_}jacksonObjectMapper(){_}. It would be great if these classes were repackaged using the same using the same _org.apache.flink.shaded.jackson2.*_ prefix: {code:java} import com.fasterxml.jackson.module.kotlin.KotlinModule import com.fasterxml.jackson.module.kotlin.jacksonMapperBuilder import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper {code} Due to the mismatch in package names I can do neither of the following: {code:java} val jsonMapper = jacksonMapperBuilder() .addModule(JavaTimeModule()) .build() {code} or {code:java} val jsonMapper = JsonMapper() .registerModule(KotlinModule()) {code} This has been the only issue I've found that prevents me from using Kotlin to develop my Flink projects > add jackson-module-kotlin to Jackson packages that get shaded > ------------------------------------------------------------- > > Key: FLINK-32237 > URL: https://issues.apache.org/jira/browse/FLINK-32237 > Project: Flink > Issue Type: Improvement > Affects Versions: 1.17.1 > Reporter: Samael Bate > Priority: Major > > Because of the shaded Jackson packages having their package names prefixed, > such as > {_}org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.json.JsonMapper{_}, > when writing a Flink project in Kotlin I am unable to register the > _KotlinModule_ or use {_}jacksonObjectMapper(){_}. > > It would be great if these classes were repackaged using the same using the > same _org.apache.flink.shaded.jackson2.*_ prefix: > {code:java} > import com.fasterxml.jackson.module.kotlin.KotlinModule > import com.fasterxml.jackson.module.kotlin.jacksonMapperBuilder > import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper {code} > > Due to the mismatch in package names I can do neither of the following: > {code:java} > val jsonMapper = jacksonMapperBuilder() > .addModule(JavaTimeModule()) > .build() {code} > or > {code:java} > val jsonMapper = JsonMapper() > .registerModule(KotlinModule()) {code} > the Kotlin module inherits from {{com.fasterxml.jackson.databind.Module}} and > the re-packaged ones are inheriting from > {{{}[org.apache.flink.shaded.jackson2.com|http://org.apache.flink.shaded.jackson2.com/]{}}}{{{}.fasterxml.jackson.databind.Module{}}}. > > For now I can work around this with a wrapper class but it would be nice to > have this available out of the box. -- This message was sent by Atlassian Jira (v8.20.10#820010)