使用在两个单独的配置文件中定义的 Maven 变量

发布于 2024-10-18 12:05:37 字数 654 浏览 4 评论 0原文

我的 pom.xml 中有两个配置文件,dev 和 stage:

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <hostname>vl-wlp1.hk.oracle.com</hostname>
        </properties>
        <id>stage</id>
        <properties>
            <hostname>vl-wcfs.hk.oracle.com</hostname>
        </properties>
    </profile>
</profiles>

我想在我的站点文档中使用这些配置文件:

src/site/apt/index.apt

像这样:

Dev Site: ${dev.hostname}
Stage Site: ${stage.hostname}

我可以这样做或具有相同效果的其他操作吗?

I have two profiles in my pom.xml, dev and stage:

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <hostname>vl-wlp1.hk.oracle.com</hostname>
        </properties>
        <id>stage</id>
        <properties>
            <hostname>vl-wcfs.hk.oracle.com</hostname>
        </properties>
    </profile>
</profiles>

And I'd like use these in my site documentation at:

src/site/apt/index.apt

like so:

Dev Site: ${dev.hostname}
Stage Site: ${stage.hostname}

Can I do that or something else that has the same effect?

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

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

发布评论

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

评论(1

深居我梦 2024-10-25 12:05:37

不是没有一个巨大的黑客,不。

如果您想独立读取两个属性值,它们必须是两个不同的属性。

像这样的实用解决方案怎么样:

<properties>
    <dev.host>vl-wlp1.hk.oracle.com</dev.host>
    <stage.host>vl-wcfs.hk.oracle.com</stage.host>
</properties>

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <hostname>${dev.host}</hostname>
        </properties>
        <id>stage</id>
        <properties>
            <hostname>${stage.host}</hostname>
        </properties>
    </profile>
</profiles>

src/site/apt/index.apt:(

Dev Site: ${dev.host}
Stage Site: ${stage.host}

上面提到的巨大黑客意味着以编程方式迭代当前项目的配置文件并手动解析每个配置文件的属性,您可以做在自定义 Maven 插件或使用 GMaven 的 Groovy 脚本中)

Not without a huge hack, no.

If you want to read both property values independently, they will have to be two different properties.

How about a pragmatic solution like this:

<properties>
    <dev.host>vl-wlp1.hk.oracle.com</dev.host>
    <stage.host>vl-wcfs.hk.oracle.com</stage.host>
</properties>

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <hostname>${dev.host}</hostname>
        </properties>
        <id>stage</id>
        <properties>
            <hostname>${stage.host}</hostname>
        </properties>
    </profile>
</profiles>

src/site/apt/index.apt:

Dev Site: ${dev.host}
Stage Site: ${stage.host}

(The huge hack mentioned above would mean programmatically iterating over the current project's profiles and parsing each profile's properties manually, you could do that in a custom maven plugin or in a Groovy Script using GMaven)

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