Подтвердить что ты не робот

Ant свойство имени машины

Есть ли способ получить имя машины как свойство ant для Linux и ОС Windows.

4b9b3361

Ответ 1

В Windows имя хоста находится в переменной среды "COMPUTERNAME", а в Linux переменная среды "HOSTNAME". Поскольку свойства ant являются неизменяемыми, должно работать следующее:

<property environment="env"/>
<property name="env.HOSTNAME" value="${env.COMPUTERNAME}"/>
<echo message="hostname = ${env.HOSTNAME}"/>

то есть. импортируйте среду как свойства с префиксом env. Затем установите значение env.HOSTNAME как значение env.COMPUTERNAME, если env.HOSTNAME уже установлено, и в этом случае вторая строка не будет иметь никакого эффекта. После этого используйте env.HOSTNAME, где требуется имя хоста.

Ответ 2

<exec executable="hostname" outputproperty="computer.hostname"/>

будет работать с linux и windows

Ответ 3

Правильный способ найти имя хоста локального компьютера - это использовать Ant HostInfo. Это будет работать на всех платформах и поддерживается на основе Ant.

<hostinfo prefix="host." />
<echo message="My hostname is '${host.NAME}'" />

Ответ 4

Скопируйте значение для Unix в версию Windows. Затем вы можете использовать ${env.COMPUTERNAME}.

<property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/>

Ответ 5

Для этого вы можете использовать переменные среды $HOSTNAME (UNIX) и% COMPUTERNAME% (Windows). Вы можете проверить, была ли определена переменная среды HOSTNAME и, если нет, вы можете использовать переменную окружения COMPUTERNAME, если она определена. В качестве резервной копии вы можете использовать "неизвестный".

Ответ 6

Я бы написал пользовательскую задачу Ant.

Как только вы начнете писать свои собственные задачи, вы обнаружите, что Ant становится намного веселее и прост в использовании. Вам не нужны странные решения, которые трудно понять.

Как только задача будет записана, вы просто сделаете что-то вроде:

<my:hostname property"hostname" />