私はホスト名を検索してMavenのプロパティとして設定する方法を探しています。Mavenからホスト名を検索する
これは、すべての環境では動作しません:
...
<properties>
<hostname>${env.HOSTNAME}</hostname>
</properties>
...
任意の提案を?
私はホスト名を検索してMavenのプロパティとして設定する方法を探しています。Mavenからホスト名を検索する
これは、すべての環境では動作しません:
...
<properties>
<hostname>${env.HOSTNAME}</hostname>
</properties>
...
任意の提案を?
私はクロスplattform問題の簡単な解決策になってしまった
<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>
設定するグルーヴィーなスクリプトを使用します。
を<manifestEntries>
<Build-Host-Linux>${env.HOSTNAME}</Build-Host-Linux>
<Build-Host-Windows>${env.COMPUTERNAME}</Build-Host-Windows>
</manifestEntries>
いいですね。しかし、RHEL7ではHOSTNAMEが定義されていません。 – Christian
それは変です。 RHEL6はこれでOKです。あなたはホスト名だけでなくenv.HOSTNAMEを持っていますか? – AxelW
user1885834が投稿したコメントは、WindowsとLinux用のプロファイルを作成し、それぞれの環境変数を使用して新しいプロパティ$ {hostname}を定義してどこでもsed。
<profile>
<id>unix</id>
<activation>
<os>
<family>unix</family>
</os>
</activation>
<properties>
<hostname>${env.HOSTNAME}</hostname>
</properties>
</profile>
<profile>
<id>windows</id>
<activation>
<os>
<family>Windows</family>
</os>
</activation>
<properties>
<hostname>${env.COMPUTERNAME}</hostname>
</properties>
</profile>
そのHOSTNAMEはRedHatで定義されていません:( – Christian
実際のビルドで、またはCI環境内でのみ必要ですか? – khmarbaise
$ {hostname}を実行するホスト名で置き換えるテストプロパティファイルをフィルタリングしたいと思います。これは、ローカルビルドやCI環境に役立ちます。 "実際の"ビルドでは、プロパティファイル内のホスト名はハードコードされています。これは、プロパティファイルが正しい環境用であることを確認するためです。 – steinim
ビルド環境を作るのではなく、必要なすべての環境の成果物を作成しないのはなぜですか?これについてはどうすればいいですか:http://blog.soebes.de/index.php?/archives/340-Maven-Configuration-For-Multipe-Environments.html – khmarbaise