Файл сборки Ant не может найти программу mysql - PullRequest
1 голос
/ 05 сентября 2011

Я изучаю Java и Eclipse на Mac. У меня есть файл сборки Ant в проекте, который содержит SQL-операторы для создания базы данных и таблиц MySql и вставки строк для настройки данных для проекта. Я правильно настроил MySql и могу без проблем использовать команду «mysql» в терминале, но когда я запускаю файл Ant build.xml в Eclipse, я получаю: «BUILD FAILED. Невозможно запустить программу« mysql »: ошибка = 2, нет такого файла или каталога " Я безуспешно сделал следующее:

  1. Добавлен / usr / local / mysql / bin к моему пути и проверен с помощью "echo $ PATH".
  2. Добавлен / usr / local / mysql / bin в мой путь к классам в Eclipse через "свойства" в проекте.
  3. Добавлен build.xml в путь сборки в Eclipse (только для ухмылок).

Я бегу:

  • Mac OS X 10.7.1
  • Eclipse Indigo Build id: 20110615-0604
  • MySql 5.5.15-osx10.6-x86_64

Спасибо за вашу помощь!

Вот мой build.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project name="publisher" default="all" basedir=".">
    <property name="mysql.params" value="-u publisher -ppublisher -D publisher" />
    <target name="all" depends="cleandb, createdb, insertdb"></target>

    <target name="cleandb">
        <exec executable="mysql" input="cleandb.sql">
            <arg line="${mysql.params}" />
        </exec>
    </target>

    <target name="createdb">
        <exec executable="mysql" input="createdb.sql">
            <arg line="${mysql.params}" />
        </exec>
    </target>

    <target name="insertdb">
        <exec executable="mysql" input="insertdb.sql">
            <arg line="${mysql.params}" />
        </exec>
    </target>
</project>

Ответы [ 3 ]

2 голосов
/ 07 сентября 2011

Работает ли это, когда вы запускаете сборку Ant из командной строки?Если это так, то, вероятно, это та же проблема, описанная здесь:

Запуск ant через eclipse не находит переменные окружения, но запуск ant через терминал в порядке

0 голосов
/ 06 сентября 2011

Я бы попробовал пару вещей:

Установите для атрибута searchpath значение true (по умолчанию оно равно false):

<target name="cleandb">
    <exec executable="mysql" input="cleandb.sql" searchpath="true">
        <arg line="${mysql.params}" />
    </exec>
</target>

Используйте вложенный элемент env для задания пути.

<property environment="env"/>
<exec ... >
    <env key="PATH" path="${env.PATH}"/>
</exec>
0 голосов
/ 05 сентября 2011

Любая причина не использовать только задачу Ant SQL и Connector / J ?

В любом случае кажется, что вы просто не убедилисьчто это /usr/local/mysql/bin доступно на PATH, используемом при выполнении сборки Ant.В конфигурации сборки Ant есть вкладка Environment, которая позволяет вам изменить путь к среде, в которой Eclipse запустит ваш файл сборки Ant.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...