gpt4 book ai didi

pmd - 如何避免 PMD CloseResource 违规?

转载 作者:行者123 更新时间:2023-12-04 21:08:37 25 4
gpt4 key购买 nike

我正在修改我的应用程序代码以遵守 pmd 规则。我在这段代码中有一个关闭资源错误:

Connection c = DataSourceUtils.getConnection(dataSource);
Statement request = null;
try {
request = c.createStatement();
request.execute(loadDataRequest);
} catch (SQLException e) {
dataLogger.error(e);
throw e;
}

所以我搜索并找到了一个避免它的 apache 实用程序:DButils
我的代码变成这样
Connection c = DataSourceUtils.getConnection(dataSource);
Statement request = null;
try {
request = c.createStatement();
request.execute(loadDataRequest);
} catch (SQLException e) {
dataLogger.error(e);
throw e;
} finally {
DbUtils.closeQuietly(request);
DbUtils.closeQuietly(c);
}

但是,我仍然在 eclipse 和声纳报告中收到 PMD 警报!你知道如何永久解决这个问题吗?

最佳答案

您可以设置 closeTargets CloseResource PMD 规则的属性。当 PMD 发现与 closeTargets 中的方法名称相似时属性,它不会触发警告消息:

<properties>
<property name="types" value="Connection,Statement,ResultSet"/>
<property name="closeTargets" value="closeQuietly, closeConnection, close"/>
</properties>

或者,您可以使用 SourceMeter ,其中包含 native 配置。

关于pmd - 如何避免 PMD CloseResource 违规?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9973644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com