Ash*_*dal 6 maven maven-profiles
我想知道是否使用<activeByDefault>是一个maven最佳实践?
这里的建议似乎很合理,但你认为它是绝对的还是在某些情况下它不适用?
我发布了该页面上内容的快照以供后代使用:

长话短说
不,使用activeByDefault并不违反 Maven 最佳实践。
细节
正如文档中所述,此功能非常简单:
除非使用前面描述的方法之一激活同一 POM 中的另一个配置文件,否则此配置文件将自动对所有构建激活。当 POM 中的配置文件通过命令行或通过其激活配置激活时,默认情况下处于活动状态的所有配置文件都会自动停用。
然而在实践中,您的项目默认值可能(并且将会)有很多不同的条件:
因此使用时activeByDefault需要满足三个条件:
我看到了一些小项目,它得到了有效的使用。我看到过大型项目,其中禁止此功能。当然,我看到由于开发人员的无知(rtfm)而导致滥用此功能的项目。
结论
此功能对于 Maven 社区的一小部分可能有用。这是一个不常见 API 的例子,就像java.lang.Long#getLong- 在极少数情况下有用,但被大多数开发人员忽略了。
聚苯乙烯
默认配置文件无条件激活:
<profile>
<id>active-unless-explicitly-deactivated</id>
<activation>
<file><exists>.</exists></file>
</activation>
...
</profile>
Run Code Online (Sandbox Code Playgroud)
这是停用:
./mvnw -P !active-unless-explicitly-deactivated ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3064 次 |
| 最近记录: |