部署文件时覆盖maven中的文件名

部署文件时覆盖maven中的文件名,maven,Maven,我在maven assembly插件中生成具有特定名称的zip文件,并希望能够部署它。 我在初始化阶段定义了$[my version}属性,并成功获取了该文件,但在解除应用程序时,出现以下错误: [错误] 无法执行目标org.apache.maven.plugins:maven部署插件:2.7:deploy file default cli 在project my project上:C:\Users\pr\work\my project\target\target\my file-${my ve

我在maven assembly插件中生成具有特定名称的zip文件,并希望能够部署它。 我在初始化阶段定义了$[my version}属性,并成功获取了该文件,但在解除应用程序时,出现以下错误:

[错误] 无法执行目标org.apache.maven.plugins:maven部署插件:2.7:deploy file default cli 在project my project上:C:\Users\pr\work\my project\target\target\my file-${my version}.zip未找到。 ->[帮助1]

代码:


问题按阶段顺序排列。直接调用目标部署:部署文件时,未处理阶段初始化。 因此,其中一种方法是显式地调用它:

mvn初始化部署文件


您的属性在pom.xml节中是我的版本吗?可能在命令行中用-D设置为参数?mvn install-Dmy version=1.0,例如,暗示删除maven deploy插件的配置,并从maven assembly插件的配置中删除finalName、appendAssemblyId行,部署就会工作。我不想使用命令li作为CI的一部分,所有配置必须以文件形式提供。
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-deploy-plugin</artifactId>
    <version>2.7</version>
    <configuration>          
        <file>target/my-file-${my-version}.zip</file>
        <repositoryId>releases</repositoryId>
        <url>${nexus.url}/content/repositories/releases</url>
    </configuration>
    <executions>
        <execution>
            <phase>deploy</phase>
            <goals>
                <goal>deploy-file</goal>
            </goals>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.5.5</version>
    <configuration>
        <finalName>my-file-${my-version}</finalName>
        <appendAssemblyId>false</appendAssemblyId>
        <descriptors>
          <descriptor>src/main/assembly/deployment.xml</descriptor>
        </descriptors>          
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>