Michael McCarthy created MSHADE-197:
---------------------------------------
Summary: Shade fails to relocate packages for all classes
Key: MSHADE-197
URL: https://issues.apache.org/jira/browse/MSHADE-197
Project: Maven Shade Plugin
Issue Type: Bug
Affects Versions: 2.4
Environment: Windows 7, Maven 3.0.5
Reporter: Michael McCarthy
I attempted to relocate the org.apache.http.* packages using the shade plugin
on the AWS Java SDK. This fails to update the location for at least one class,
com.amazonaws.services.s3.model.S3ObjectInputStream. I manually updated the
source code to use the shaded location and it compiled without issue:
import org.shaded.http.client.HttpClient;
import org.shaded.http.client.methods.HttpRequestBase;
import org.shaded.http.conn.EofSensorInputStream;
Before making the above change, the error I get is:
[ERROR]
\dev\CSJ\aws\temp\aws-sdk-java\aws-java-sdk-s3\src\main\java\com\amazonaws\services\s3\internal\S3ObjectResponseHandler.java:[54,26]
error: no suitable constructor found for
S3ObjectInputStream(InputStream,org.shaded.http.client.methods.HttpRequestBase)
The configuration I used in pom.xml was:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4</version>
<configuration>
<artifactSet>
<includes>
<include>com.amazonaws:*</include>
<include>org.apache.httpcomponents:*</include>
</includes>
</artifactSet>
<relocations>
<relocation>
<pattern>org.apache.http</pattern>
<shadedPattern>org.shaded.http</shadedPattern>
</relocation>
</relocations>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
See
http://mail-archives.apache.org/mod_mbox/maven-users/201506.mbox/%3C558BE1C5.2020400%40tribloom.com%3E
for more details. This thread has instructions on how to reproduce as well as
links to a Github project with the changes already made and the error easy to
reproduce.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)