27

Maven では、実行するオペレーティング システム ファミリに基づいて、特定のビルド プロファイルをアクティブにすることができます。たとえば、次のようになります。

<profile>
    <activation>
        <os><family>Windows</family></os>
    </activation>
</profile>

これには多くの疑問があります: その場合に許容される値は何os.familyですか? 大文字と小文字は区別されますか? Linuxは次のように出くわしUnixますか? それともunix?等々。

許可された値に関する情報はどこにありますか? または少なくとも、Maven はこれらの値をどこから取得しますか? 環境変数?

4

4 に答える 4

28

値は、plexus-utilsプロジェクトの で定義されていOs.javaます。一致では大文字と小文字が区別されず、値が取得されisOs Linux プラットフォームと一致するようにSystem.getProperty( "os.name" )指定する必要があることがわかります。unix

于 2013-09-26T14:35:19.257 に答える
22

OS ファミリの値:

dos
mac
netware
os/2
tandem
unix
windows
win9x
z/os
os/400
openvms

簡単なプログラムを実行することで取得できるその他の値:

public class SystemProperties {
    public static void main(String[] args) {
        System.out.println("Os name: " + System.getProperty("os.name"));
        System.out.println("Os arch: " + System.getProperty("os.arch"));
        System.out.println("Os version: " + System.getProperty("os.version"));
    }
}
于 2014-10-23T13:36:31.820 に答える
6

Mavenのヘルプから尋ねる価値があるかもしれません:

mvn help:system | grep "os\."
于 2016-01-08T01:32:01.263 に答える