値は

2013-09-26 6 views
14

Mavenは、たとえば、それが実行されるオペレーティングシステムファミリに基づいて、特定のビルドのプロファイルをアクティブにすることができますどのようなos.familyの値が許可されていますか?大文字と小文字は区別されますLinuxはUnixと出会うのですか?またはunix?等々。値は

許容値についての情報はどこにありますか–、または少なくともMavenはこれらの値をどこから取得しますか?環境変数?

答えて

19

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

10

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")); 
    } 
} 
10

あなたのマシン上でこれらのOSのプロパティをチェックするための非常に便利なのMavenコマンド:

mvn enforcer:display-info 

SunOS/Sparcホストの出力例:

[INFO] Maven Version: 3.0.4 
[INFO] JDK Version: 1.6.0_34 normalized as: 1.6.0-34 
[INFO] OS Info: Arch: sparc Family: unix Name: sunos Version: 5.8 

Linuxホスト上の例の出力:

[INFO] Maven Version: 3.0.4 
[INFO] JDK Version: 1.7.0_85 normalized as: 1.7.0-85 
[INFO] OS Info: Arch: amd64 Family: unix Name: linux Version: 2.6.32-504.23.4.el6.x86_64 
+0

これも[提案方法](HTTPです://maven.apache .org/guides/introduction/introduction-to-profiles.html)を参照してください。これは現在[このエンフォーサプラグインページ](http://maven.apache.org/enforcer/enforcer-rules/requireOS.html)にリンクしています。 –

2

それは可能性があるMavenのヘルプから求め価値:

mvn help:system | grep "os\." 
+0

これは、私が必要とした変数 '$ {os.detected.name} 'を識別するために必要なものです。 – Fred