0

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" />

データベースが存在しない場合、データベースが存在しないことを示すメッセージがコンソールに表示されます (これは正常です)。

このメッセージの表示を無効にする必要があります。これを行う方法はありますか?

4

1 に答える 1

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 Info を使用していると仮定すると、messagelevel error、warn、および info を含むすべてのメッセージがログに記録されます。messagelevel warn でその出力を取り除くには、JDBCTask にパッチを適用して 382 行目の messagelevel を調整するProject.MSG_VERBOSEか、または-q フラグなしで ant quiet?Project.MSG_DEBUGへの回答の解決策の 1 つを使用します。

于 2013-11-07T22:29:40.257 に答える