如何从.war文件中删除项目版本

时间:2019-08-27 08:27:54

标签: java maven war ear

我想为具有两个Maven构建的一个概要文件生成两个工件(.ear)。我需要工件的名称不包含项目版本,因此不能这样做。

我正在尝试多种解决方案,但没有一个对我有用。 我试图添加标签<outputFileNameMapping>@{artifactId}@.@{extension}@</outputFileNameMapping> 或标签 <fileNameMapping>no-version</fileNameMapping> 到配置标签。 我也尝试过更改maven-ear-plugin版本,结果相同。

这是我的配置:

<finalName>${area}${project.parent.artifactId}</finalName>

<plugin>
    <artifactId>maven-ear-plugin</artifactId>
    <version>2.8</version>
    <executions>
        <execution>
            <id>ear-prepro</id>
            <configuration>
                <finalName>${project.parent.artifactId}finalll</finalName>
                <outputFileNameMapping>@{artifactId}@.@{extension}@</outputFileNameMapping>
                <earSourceDirectory>src/main/resources</earSourceDirectory>
                <displayName>${area}${artifactId}</displayName>
                <fileNameMapping>no-version</fileNameMapping>
                <outputDirectory>${project.build.directory}</outputDirectory>
                <modules>
                    <webModule>
                        <groupId>${project.groupId}</groupId>
                        <artifactId>${project.parent.artifactId}-web</artifactId>
                        <bundleFileName>${project.parent.artifactId}-web.war</bundleFileName>
                        <contextRoot>/${project.parent.artifactId}</contextRoot>
                    </webModule>
                </modules>
            </configuration>
            <goals>
                <goal>ear</goal>
            </goals>
        </execution>
    </executions>
</plugin>

--------------------------
AND THE OTHER EAR CONFIGURATION
----------------------------

<plugin>
    <artifactId>maven-ear-plugin</artifactId>
    <version>2.8</version>
    <executions>
        <execution>
            <id>ear-protest</id>
            <configuration>
                <fileNameMapping>no-version</fileNameMapping>
                <finalName>${area}${project.parent.artifactId}-PROTEST</finalName>
                <earSourceDirectory>src/main/resources</earSourceDirectory>
                <displayName>${area}${artifactId}-PROTEST</displayName>
                <outputDirectory>${project.build.directory}/PROTEST</outputDirectory>
                <modules>
                    <webModule>
                        <groupId>${project.groupId}</groupId>
                        <artifactId>${project.parent.artifactId}-web</artifactId>
                        <bundleFileName>${project.parent.artifactId}-web.war</bundleFileName>
                        <contextRoot>/${project.parent.artifactId}</contextRoot>
                    </webModule>
                </modules>
            </configuration>
            <goals>
                <goal>ear</goal>
            </goals>
        </execution>
    </executions>
</plugin>

标签似乎将版本号与工件联系在一起,但是我不需要它。我需要没有.war文件上项目版本的工件名称。

一些想法?

0 个答案:

没有答案