[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17693058#comment-17693058
 ] 

Shuo Cheng commented on MSHADE-345:
-----------------------------------

hi, [~jneira], The reason that you can not reproduce the issue is that you 
`Main` class is Java class. Try to write another example `ScalaMain.scala` , 
and write code containing `org.apache.logging.log4j.scala.Logger`, then run 
`mvn package`, you will find `org.apache.logging.log4j.scala.Logger` not be 
shaded in `ScalaMain.class`.

> 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.20.10#820010)

Reply via email to