停用ant显示的消息

时间:2013-11-07 13:54:46

标签: sql ant

我正在尝试使用ant测试数据库的存在。

<sql driver="mydriver" url="myurl" userid="myuserid" passworkd="mypassword"
faiOnConnectionError="false"
onerror="continue"
warningproperty="db.empty"
errorproperty="db.empty"
src="mySrc"
print="false"
output="db.present"
showWarnings="false" />

当数据库不存在时,我在控制台中有一条消息,指示数据库不存在(这是正常的)。

我需要停用此消息的显示,有没有办法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

来自org.apache.tools.ant.taskdefs.JDBCTask(ant 1.9.2)的来源,第379-387行:

} catch (SQLException e) {
    // failed to connect
    if (!failOnConnectionError) {
        log("Failed to connect: " + e.getMessage(), Project.MSG_WARN);
        return null;
    } else {
        throw new BuildException(e, getLocation());
    }
}

假设您正在使用默认的Loglevel信息,则会记录包含messagelevel错误,警告和信息的所有消息。要使用messagelevel警告来消除该输出,请修改JDBCTask并将第382行的消息级别调整为Project.MSG_VERBOSEProject.MSG_DEBUG,或使用答案中的一个解决方案来{{3 }}