我正在Mac上学习Java和Eclipse。我在项目中有一个Ant构建文件,其中包含用于创建MySql数据库的sql语句以及用于为项目设置数据的插入行。我已经正确设置了MySql并且可以在终端中使用“mysql”命令没有问题,但是当我在Eclipse中运行Ant build.xml文件时,我得到:“BUILD FAILED。无法运行程序”mysql“:错误= 2,没有这样的文件或目录“ 我做了以下没有成功:
我正在跑步:
感谢您的帮助!
这是我的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>
答案 0 :(得分:2)
从命令行运行Ant构建时它是否有效?如果是这样,它可能与此处描述的问题相同:
答案 1 :(得分:0)
任何理由不仅仅使用Ant的SQL task和Connector/J?
在任何情况下,听起来您还没有确保在执行Ant构建时使用的/usr/local/mysql/bin
上有PATH
可用。 Ant构建配置中有一个Environment选项卡,允许您修改Eclipse将运行Ant构建文件的环境路径。
答案 2 :(得分:0)
我会尝试一些事情:
将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>