如何 运行 仅在特定平台上使用插件

How to run a plugin only on a particular platform

我有一个只需要在 linux 上执行的 maven 插件。我发现这个配置似乎有效

How do I make this plugin run only on non-Windows platforms?

<profiles>
  <profile>
    <activation>
      <os>
        <family>!mac</family>
      </os>
    </activation>
    <build>
      <plugins>
        <plugin>
          ...
        </plugin>
      </plugins>
    </build>
    ...
  </profile>
</profiles>

如何修改它,使其仅在 linux 上执行?

没有 OS <family> value 来区分 Linux 和 Unix,但是您可以使用 <name> 代替。

<profiles>
  <profile>
    <activation>
      <os>
        <name>Linux</name>
      </os>
    </activation>
    <build>
      <plugins>
        <plugin>
          ...
        </plugin>
      </plugins>
    </build>
    ...
  </profile>
</profiles>

仅供参考,要在您的 Linux 机器上仔细检查 <name> 的值,请执行 java -XshowSettings:properties 并查找 os.name 属性。 (在我检查过的所有 Linux 发行版中,这只是 Linux。)