Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

destFileName not used by maven-dependency-plugin?

I'm sure this was working!

I have a maven dependency plugin config to put a java service wrapper into a particular folder in an appassembler target folder.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <configuration>
        <artifactItems>
            <artifactItem>
                <groupId>org.tanukisoftware</groupId>
                <artifactId>wrapper</artifactId>
                <version>3.2.1</version>
                <classifier>${target.arch.classifier}</classifier>
                <type>jar</type>
                <overWrite>true</overWrite>
                <outputDirectory>${project.build.directory}/appassembler/jsw/projectnamehere/lib</outputDirectory>
                <destFileName>wrapper-${target.arch}.dll</destFileName>
            </artifactItem>
            </artifactItem>
        </artifactItems>
    </configuration>
</plugin>

But it gets written as wrapper.dll (which is the filename in the repo). target.arch is set to "windows-x86-32".

Here's part of the log file:

[DEBUG]   (s) groupId = org.tanukisoftware
[DEBUG]   (s) artifactId = wrapper
[DEBUG]   (s) version = 3.2.1
[DEBUG]   (s) classifier = win32
[DEBUG]   (s) type = jar
[DEBUG]   (s) overWrite = true
[DEBUG]   (s) outputDirectory = <projectfolder>\target\appassembler\jsw\SophisToTradeCacheConsumer\lib
[DEBUG]   (s) destFileName = wrapper-windows-x86-32.dll
...
[DEBUG]   (f) outputAbsoluteArtifactFilename = false
[DEBUG]   (s) outputDirectory = <projectfolder>\target\dependency
[DEBUG]   (s) overWriteIfNewer = true
[DEBUG]   (s) overWriteReleases = false
[DEBUG]   (s) overWriteSnapshots = false
...
[INFO] [dependency:unpack {execution: default-cli}]
[INFO] Configured Artifact: org.tanukisoftware:wrapper:win32:3.2.1:jar
[INFO] Unpacking C:\WORK\maven\repository\org\tanukisoftware\wrapper\3.2.1\wrapper-3.2.1-win32.jarto
 <projectfolder>\target\appassembler\jsw\SophisToTradeCacheConsumer\lib
with Includes null and excludes:null
[DEBUG] Expanding: C:\WORK\maven\repository\org\tanukisoftware\wrapper\3.2.1\wrapper-3.2.1-win32.jar into <projectfolder>\target\appassembler\jsw\SophisToTradeCacheConsumer\lib
[DEBUG] expand complete
like image 653
Paul McKenzie Avatar asked Sep 02 '10 14:09

Paul McKenzie


People also ask

What is Mvn dependency tree?

A project's dependency tree can be filtered to locate specific dependencies. For example, to find out why Velocity is being used by the Maven Dependency Plugin, we can execute the following in the project's directory: mvn dependency:tree -Dincludes=velocity:velocity.


1 Answers

I see that you are using dependency:unpack but this goal (logically) doesn't support destFileName (a destination filename doesn't really make sense when unpacking files).

In your case, either use the "final name" when packaging your dll. Or do some post processing using the Maven AntRun Plugin to rename the file.

like image 60
Pascal Thivent Avatar answered Sep 23 '22 06:09

Pascal Thivent