[
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17226540#comment-17226540
]
zhangminglei edited comment on MSHADE-345 at 11/5/20, 7:46 AM:
---------------------------------------------------------------
I encounter the same issue. I would like to think we should add relocation for
scala for shading.
was (Author: mingleizhang):
I encounter this same issue. I would like to think we should add relocation for
scala in shade.
> Package relocation appears not to work with Scala
> -------------------------------------------------
>
> Key: MSHADE-345
> URL: https://issues.apache.org/jira/browse/MSHADE-345
> Project: Maven Shade Plugin
> Issue Type: Bug
> Reporter: Graham Pople
> Priority: Major
> Attachments: image (4).png
>
>
> (Apologies if this is a known issue, I searched but couldn't find it.)
> I have a small pom.xml that's simply pulling in two dependent libraries from
> Maven, and shading them:
> {code:java}
> <?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/maven-v4_0_0.xsd">
> <modelVersion>4.0.0</modelVersion>
> <groupId>com.couchbase.client</groupId>
> <artifactId>scala-deps</artifactId>
> <version>1.1.1-SNAPSHOT</version>
> <packaging>jar</packaging>
> <name>Couchbase Scala Dependencies</name>
> <description>Shadowing dependencies for Scala prokect</description>
> <dependencies>
> <dependency>
> <groupId>com.github.plokhotnyuk.jsoniter-scala</groupId>
> <artifactId>jsoniter-scala-core_2.12</artifactId>
> <version>1.0.0</version>
> </dependency>
> <dependency>
> <groupId>com.github.plokhotnyuk.jsoniter-scala</groupId>
> <artifactId>jsoniter-scala-macros_2.12</artifactId>
> <version>1.0.0</version>
> </dependency>
> </dependencies>
> <build>
> <plugins>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-shade-plugin</artifactId>
> <version>3.2.1</version>
> <configuration>
> <relocations>
> <relocation>
> <pattern>com.github.plokhotnyuk</pattern>
>
> <shadedPattern>com.couchbase.client.scala.deps.plokhotnyuk</shadedPattern>
> </relocation>
> </relocations>
> <createSourcesJar>true</createSourcesJar>
> <shadeSourcesContent>true</shadeSourcesContent>
> <shadedArtifactAttached>true</shadedArtifactAttached>
> </configuration>
> <executions>
> <execution>
> <phase>package</phase>
> <goals>
> <goal>shade</goal>
> </goals>
> </execution>
> </executions>
> </plugin>
> </plugins>
> </build>
> </project> {code}
> From this I expect to get an uber-jar containing those dependencies, with
> classfiles inside
> com/couchbase/client/scala/deps/plokhotnyuk/jsoniter_scala/..., and with
> those files starting "package com.couchbase.client.scala.deps.plokhotnyuk...".
> However, while the files are moved to the correct file structure, the package
> names aren't adjusted. Here's a screenshot from the sources jar:
> !image (4).png!
>
> And my experiments with the binary jar itself seem to indicate that the same
> issue exists at the bytecode level in the regular jar too, e.g. the
> classfiles are in the right place but the package hasn't been changed.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)