값은

2013-09-26 2 views
14

Maven은 예를 들어,이 실행되는 운영 체제 제품군에 따라 특정 빌드 프로파일을 활성화 할 수 있습니다 무엇을 os.family에 대해 허용되는 값은? 대소 문자를 구분합니까? 리눅스가 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의 특성을 확인하기위한 매우 유용한 메이븐 명령을

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 

예 출력 :

[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 현재이 [enforcer plugin page] (http://maven.apache.org/enforcer/enforcer-rules/requireOS.html)에 링크되어있는 Apache에 의해 .org/guides/introduction/introduction-to-profiles.html 파일에 추가됩니다. –

2

이 받는다는 도움말에서 요구하는 가치 수도 :

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

이것은 필자가 필요로했던 변수'$ {os.detected.name} '을 식별하는 데 필요한 것입니다. – Fred