[
https://jira.codehaus.org/browse/MSHADE-183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=363285#comment-363285
]
Andrew Gaul commented on MSHADE-183:
------------------------------------
This issue has become more acute with CI services like Travis upgrading to
Maven 3.2.5:
https://travis-ci.org/andrewgaul/s3proxy/builds/50581682
> Getting "Error creating shaded jar: java.util.jar.Attributes cannot be cast
> to java.lang.String" error when using ManifestResourceTransformer with Maven
> 3.2.5
> --------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: MSHADE-183
> URL: https://jira.codehaus.org/browse/MSHADE-183
> Project: Maven Shade Plugin
> Issue Type: Bug
> Reporter: Chris Heisterkamp
> Attachments: manifest_resource_transformer_error.diff
>
>
> If you are using the ManifestResourceTransformer with empty values in the
> configuration you will get a "Error creating shaded jar:
> java.util.jar.Attributes cannot be cast to java.lang.String" error with Maven
> 3.2.5.
> Here as an example config that causes the problem
> {{
> <configuration>
> <transformers>
> <transformer
>
> implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
> <manifestEntries>
> <Main-Class>com.mycompany.app.App</Main-Class>
> <Implementation-Build></Implementation-Build>
> </manifestEntries>
> </transformer>
> </transformers>
> </configuration>
> }}
> I'm not sure what changed in populating the manifestEntries map but it looks
> like the manifestEntries.entrySet() in ManifestResourceTransformer is now
> getting back Attributes objects for the null values instead of null. When
> the transformer calls getValue() on the Attributes object you get the error.
> The fix was to make manifestEntries a Map<String, Object> instead of
> Map<String, Attributes>.
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)