根据配置文件更改部署的工件名称

发布于 2024-10-02 08:37:54 字数 931 浏览 5 评论 0原文

我在 Web 应用程序的 pom 文件中有一个构建配置文件,它为 qa 测试做了一些必要的事情(在我的代码中)。

我在 svn 上有这段代码,这段代码是在 Hudson 中编译的,它在 nexus 中部署工件。Hudson

有两项工作,一项用于 qa 配置文件 (-P qa),一项用于客户。

我需要的是在部署阶段在我的 qa 配置文件中更改工件的名称,以便 Nexus 有两个不同的 war 文件,一个用于 qa,一个用于客户。

我使用(谷歌搜索后)以下内容,看起来它在 hudshon 中没有任何作用!

    <profile>
        <id>qa</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.5</version>
                    <configuration>
                        <classifier>qa</classifier>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>

有人有什么想法吗?

I have in a web application's pom file, a build profile, which does some necessary things (in my code) for qa testing.

I have this code on svn and this code is compiled in Hudson, which deploys artifacts in nexus..

Hudson has two jobs, one for qa profile (-P qa) and one for customers.

What i need is that i change in my qa profile the artifact's name during deploy phase, so that nexus has two different war files, one for qa and one for customer.

I use (after Google search) the following which looks like it does nothing in hudshon!

    <profile>
        <id>qa</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.5</version>
                    <configuration>
                        <classifier>qa</classifier>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>

any ideas someone?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

毁梦 2024-10-09 08:37:54

您实际上需要在构建正在部署的包的插件上设置“分类器”配置选项:maven-(ear|ejb|jar|rar|war|shade)-plugin:

例如,使用 qa 构建 WAR 操作:

<profile>
    <id>qa</id>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <classifier>qa</classifier>
                </configuration>
            </plugin>
        </plugins>
    </build>
</profile>

此外,您可以设置以下任何一项,而不是设置分类器(大多数默认为project.build.finalName,因此设置该属性会更新其中的许多项):

  • 分类器,您将执行以下
    • project.build.finalName
  • 战争插件
    • 战争名称
  • Ear|Jar|Rar|Shade 插件
    • 最终名称
  • EJB 插件
    • jar名称

最后一点:我以前从未意识到这一点,但查看文档,看起来 RAR 插件不支持“分类”选项。 Shade 确实支持分类器概念,但通过“shadedClassifierName”属性来实现。

You actually need to set the "classifier" configuration option on the plugin that's building the package that's being deployed: maven-(ear|ejb|jar|rar|war|shade)-plugin:

For instance, to build a WAR with a qa classifier, you would do the following:

<profile>
    <id>qa</id>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <classifier>qa</classifier>
                </configuration>
            </plugin>
        </plugins>
    </build>
</profile>

Also, instead of setting the classifier you could set any of the following (most default to project.build.finalName, so setting that property updates many of these):

  • General
    • project.build.finalName
  • War Plugin
    • warName
  • Ear|Jar|Rar|Shade Plugin
    • finalName
  • EJB Plugin
    • jarName

One final note: I never realized this before, but looking over the documentation, it looks like the RAR plugin doesn't support the "classification" option. Shade does support the classifier concept, but does it via the "shadedClassifierName" property.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文