简体   繁体   English

maven-dependency-plugin没有使用destFileName?

[英]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. 我有一个maven依赖插件配置将java服务包装器放入appassembler目标文件夹中的特定文件夹。

<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). 但它被写为wrapper.dll(它是repo中的文件名)。 target.arch is set to "windows-x86-32". target.arch设置为“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

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 file s ). 我看到你正在使用dependency:unpack ,但这个目标(逻辑)不支持destFileName (目标文件名解压文件当没有真正意义)。

In your case, either use the "final name" when packaging your dll. 在您的情况下,在打包dll时使用“最终名称”。 Or do some post processing using the Maven AntRun Plugin to rename the file. 或者使用Maven AntRun插件进行一些后期处理以重命名文件。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM