You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Elliotte Rusty Harold (Jira)" <ji...@apache.org> on 2019/12/20 14:36:00 UTC

[jira] [Updated] (MASSEMBLY-830) Cannot handle relocated artifacts

     [ https://issues.apache.org/jira/browse/MASSEMBLY-830?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Elliotte Rusty Harold updated MASSEMBLY-830:
--------------------------------------------
    Priority: Minor  (was: Blocker)

> Cannot handle relocated artifacts
> ---------------------------------
>
>                 Key: MASSEMBLY-830
>                 URL: https://issues.apache.org/jira/browse/MASSEMBLY-830
>             Project: Maven Assembly Plugin
>          Issue Type: Bug
>          Components: dependencySet
>    Affects Versions: 2.6
>         Environment: $ mvn --version
> Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
> Maven home: C:\java\apache\maven-3.3.9
> Java version: 1.8.0_92, vendor: Oracle Corporation
> Java home: C:\java\jdk1.8.0_92\jre
> Default locale: en_GB, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"
>            Reporter: Martin Todorov
>            Priority: Minor
>
> When one of the transitive dependencies is relocated, the {{maven-assembly-plugin}} doesn't follow the relocation and check the POM of the relocated artifact, but uses the actual POM artifact that declares the relocation. Since this POM doesn't define a version for the artifact, the build fails with:
> {code}
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.6:single (make-assembly) on project blah: Execution make-assembly of goal org.apache.maven.plugins:maven-assembly-plugin:2.6:single failed: For artifact {com.foo:bar:null:jar}: The version cannot be empty. -> [Help 1]
> {code}
> As this is a transitive dependency of a third-party library, we have no control over it and have attempted to define:
> * An {{<exclusion/>}} for this artifact in the dependency which requires it.
> * A direct dependency (as the very first {{<dependency/>}}) to the relocated artifact (which has a version defined in the {{pom.xml}}).
> Unfortunately, neither of these helped.
> This is the POM with the relocation:
> {code}
> <?xml version="1.0" encoding="UTF-8"?> 
> <project xsi:schemaLocation=" http://maven.apache.org/POM/4.0.0  http://maven.apache.org/xsd/maven-4.0.0.xsd " xmlns=" http://maven.apache.org/POM/4.0.0 " 
>     xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"> 
>   <modelVersion>4.0.0</modelVersion> 
>   <groupId>com.foo</groupId> 
>   <artifactId>bar</artifactId> 
>   <distributionManagement> 
>     <relocation> 
>       <classifier>b</classifier> 
>       <version>1.5</version> 
>     </relocation> 
>   </distributionManagement> 
> </project> 
> {code}
> Please, advise!
> Many thanks in advance!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)