2011-09-16 2 views
16

호스트 이름을 찾고 Maven에서 속성으로 설정하는 방법을 찾고 있습니다.Maven에서 호스트 이름을 찾습니다.

이 모든 환경에서 작동하지 않습니다

... 
<properties> 
    <hostname>${env.HOSTNAME}</hostname> 
</properties> 
... 

어떤 제안?

+0

실제 빌드에서 또는 CI 환경에서만 필요합니까? – khmarbaise

+0

$ {hostname}을 실행중인 호스트 이름으로 대체하여 테스트 등록 정보 파일을 필터링하려고합니다. 이는 로컬 빌드 및 CI 환경에 유용합니다. "실제"빌드의 경우 등록 정보 파일의 호스트 이름은 하드 코딩됩니다. 이것은 속성 파일이 올바른 환경을위한 것인지 확인하는 것입니다. – steinim

+0

빌드 환경을 만드는 대신 필요한 모든 환경에 아티팩트를 생성하지 않는 이유는 무엇입니까? 이것에 대해 : http://blog.soebes.de/index.php?/archives/340-Maven-Configuration-For-Multipe-Environments.html – khmarbaise

답변

25

내가 크로스 플랫폼 이서 문제에 대한 간단한 해결책을 종료

<plugin> 
     <groupId>org.codehaus.groovy.maven</groupId> 
     <artifactId>gmaven-plugin</artifactId> 
     <executions> 
      <execution> 
       <phase>generate-resources</phase> 
       <goals> 
        <goal>execute</goal> 
       </goals> 
       <configuration> 
        <source> 
        project.properties["hostname"] = InetAddress.getLocalHost().getHostName() 
       </source> 
      </configuration> 
     </execution> 
     </executions> 
</plugin> 
+0

그레이트 솔루션! 감사합니다 :) – steinim

+2

Maven이이 정보를 다른 방법으로 노출시킬 수 없다고 믿기 힘듭니다. 그래도 좋은 해킹. 일반적으로이 방식으로 설정된 다른 속성을 알고 있습니까? – cwash

+1

@ 쿠거 해킹? 동의했다. 시스템 또는 환경 속성으로 Maven에서 사용할 수없는 정보 항목에 필요합니다. 참조 : http://books.sonatype.com/mvnref-book/reference/resource-filtering-sect-properties.html –

4

$ {env.COMPUTERNAME}는 나를 위해 작동 프로젝트 속성 ..

+0

비록 나는이 – rudolfson

2

설정하는 그루비 스크립트를 사용하여

<manifestEntries> 
    <Build-Host-Linux>${env.HOSTNAME}</Build-Host-Linux> 
    <Build-Host-Windows>${env.COMPUTERNAME}</Build-Host-Windows> 
</manifestEntries> 
+8

특정 창 괜찬 유닉스 $ {ENV 것 같다.HOSTNAME} 윈도우 $ {env.COMPUTERNAME} $ {env.HOSTNAME} user1885834

+0

좋은 소리입니다. 그러나 HOSTNAME은 RHEL7에 정의되어 있지 않습니다. – Christian

+0

이상 하네. RHEL6은 이것으로 OK입니다. 호스트 이름이 아닌 env.HOSTNAME을 (를) 사용하셨습니까? – AxelW

0

user1885834가 게시 한 의견은 나를 위해 가장 잘 작동하고 있습니다. Windows 및 Linux 용 프로필 만들기 및 해당 환경 변수를 사용하여 새 속성 $ {hostname}을 (를) 정의하십시오. 어디서나 sed.

+0

오직 HOSTNAME이 RedHat에 정의되어 있지 않습니다 :( – Christian