Выполнение муравья с JDK 1.6 на Mac OS X

Вот более простой способ воспроизвести вашу проблему:

sed -e 's/foo/hello
world/'

Вместо того, чтобы заменить foo двумя строками, он показывает sed: -e expression #1, char 11: unterminated `s' command

Это потому, что перевод строки завершает команду. Вы должны избежать их с помощью обратной косой черты:

sed -e 's/foo/hello\
world/'

Вы можете сделать это в своей переменной с расширением параметра Bash (${var//search/replace}):

sed "s/@@MY_VALUE@@/${var//\n'/\\\n'}/"
12
задан ejel 30 March 2009 в 05:28
поделиться

5 ответов

Переменная среды JAVA_HOME установлена в .profile файле Вашего корневого каталога. (/Users/ejel/.profile?) Редактируют его и устанавливают его на то, чем Вы хотите, чтобы это было. Например:

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home

От этой точки вперед, каждый раз, когда Вы открываете новое окно терминала, оно будет иметь набор JAVA_HOME к этому новому значению. Это не будет изменяться ни с какими существующими открытыми окнами.

Если Вы действительно ошеломлены к помещению этого в профиле, или если это конфликтует с другим программным обеспечением, оператор экспорта мог бы всегда выполняться в терминале вручную или входить в сценарий (например: setj6ev.sh), который выполняется однажды, Вы запускаете рабочие задачи Ant.

21
ответ дан 2 December 2019 в 04:25
поделиться

Тед, использование приложения Java Preferences не позволяет измените символическую ссылку CurrentJDK в /System/Library/Frameworks/JavaVM.framework/Versions, что и будет использоваться Ant, если переменная среды JAVA_HOME не установлена. Таким образом, вы можете либо изменить эту символическую ссылку вручную, либо установить переменную среды JAVA_HOME, но если вы не сделаете ни того, ни другого, Ant не будет использовать правильный JDK.

Вы можете увидеть версию jdk, которую использует Ant, выполнив команду в файле build.xml.

это то, что Ant будет использовать, если переменная окружения JAVA_HOME не установлена. Таким образом, вы можете либо изменить эту символическую ссылку вручную, либо установить переменную среды JAVA_HOME, но если вы не сделаете ни того, ни другого, Ant не будет использовать правильный JDK.

Вы можете увидеть версию jdk, которую использует Ant, выполнив команду в файле build.xml.

это то, что Ant будет использовать, если переменная окружения JAVA_HOME не установлена. Таким образом, вы можете либо изменить эту символическую ссылку вручную, либо установить переменную среды JAVA_HOME, но если вы не сделаете ни того, ни другого, Ant не будет использовать правильный JDK.

Вы можете увидеть версию jdk, которую использует Ant, выполнив команду в файле build.xml.

3
ответ дан 2 December 2019 в 04:25
поделиться

Вы, возможно, должны открыть новый экземпляр командной строки так, чтобы оболочка могла взять любые изменения в переменных среды.

-1
ответ дан 2 December 2019 в 04:25
поделиться

Установка Explicitly переменная JAVA_HOME в Вашем .profile/.bashrc/.zshrc не является на самом деле рекомендуемым способом сделать это на Mac. Существуют программы, которые я видел, политы из шланга с явно набор JAVA_HOME к конкретной версии (чаши Грааля 1.1 с некоторыми пружинными ресурсами, например).

Корректный способ установить версию Java, который Вы хотите использовать, состоит в том, чтобы использовать/Application/Utilities/Java Preferences.app приложение.

Там, Вы перетаскиваете версию Java, который Вы хотите использовать для вершины. Это включит ту версию для всех приложений (и выполненные из командной строки и запущенные посредством процессов GUI).

Можно протестировать текущую версию путем выполнения этого из командной строки:

java -version

Мне на самом деле не нравится способ, которым Mac обрабатывает весь набор Java symlinked каталоги и файлы. Это не очевидно, и люди часто завинчивают его.

Посмотрите страницу разработчика яблока на этом для получения дополнительной информации.

2
ответ дан 2 December 2019 в 04:25
поделиться

Я добавил строку

export JAVA_HOME=`/usr/libexec/java_home`

В мой файл .zshrc, похоже, это помогает (.bash_profile или что-то еще, если вы используете bash).

7
ответ дан 2 December 2019 в 04:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: