繁体   English   中英

Maven:配置文件激活取决于localRepository属性吗?

[英]Maven: Profile activation depending on localRepository property?

在Maven中,仅当工件尚未安装到存储库时,我才想执行构建。 我的想法是使用一个默认情况下不活动的配置文件,但是如果缺少工件,该配置文件将被激活。 到目前为止,我还没有成功,因为似乎无法将Maven属性用于配置文件激活?

settings.xml:

...
<localRepository>/local/m2repo</localRepository>
...

1)这有效:

pom.xml:

...
<profile>
    <id>my-profile</id>
    <activation>
        <activeByDefault>false</activeByDefault>
        <file>
            <missing>/local/m2repo/something</missing>
        </file>
    </activation>
    ...
</profile>

2)这不起作用:

pom.xml:

...
<profile>
    <id>my-profile</id>
    <activation>
        <activeByDefault>false</activeByDefault>
        <file>
            <missing>${settings.localRepository}/something</missing>
        </file>
    </activation>
    ...
</profile>

3)这也不起作用:

settings.xml:

...
<properties>
    <local.repository>${settings.localRepository}</local.repository>
</properties>
...

pom.xml:

<profile>
    <id>my-profile</id>
    <activation>
        <activeByDefault>false</activeByDefault>
        <file>
            <missing>${local.repository}/something</missing>
        </file>
    </activation>
</profile>

是否有某种解决方法或替代方法,使我可以检查工件是否存在并仅在必要时运行构建? 感谢您的任何想法!

你不能那样做。

激活文件的位置通常是相对于当前项目文件夹的。

仅在定义了概要文件并开始构建之后,才计算属性。

暂无
暂无

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

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