【问题标题】:PMD message "Avoid using java.lang.ThreadGroup; it is not thread safe"PMD 消息“避免使用 java.lang.ThreadGroup;它不是线程安全的”
【发布时间】:2012-03-19 14:08:59
【问题描述】:

问题:

为什么 maven PMD 插件会针对以下代码行给我以下警告: 警告:

避免使用 java.lang.ThreadGroup;它不是线程安全的

代码(第二行):

Calendar cal = Calendar.getInstance();
java.sql.Date endDate = new java.sql.Date(cal.getTime().getTime());

上下文:

我有一个 java.sql.Date 实例化:

public class XYZServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    this.doPost(req, resp);
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse resp)
        throws ServletException, IOException {


    Connection conn = null;
    CallableStatement stmt = null;
    try {
        conn = ...
        ...

        Calendar cal = Calendar.getInstance();
        java.sql.Date endDate = new java.sql.Date(cal.getTime().getTime());

        ...
    } catch ...
    }finally {
        try {
            stmt.close();
            conn.close();
        } catch(Exception e) {}
    }
}

}

PMD 报告的线路是

java.sql.Date endDate = new java.sql.Date(cal.getTime().getTime());

消息是:

Avoid using java.lang.ThreadGroup; it is not thread safe

【问题讨论】:

  • 这与maven无关。 maven PMD插件只是PMD的一个执行器,bug在PMD内部。
  • 很好的澄清肖恩,tks。

标签: java pmd


【解决方案1】:

这似乎是 PMD 4.2.6 中的一个错误。

SourceForge-链接:
http://sourceforge.net/projects/pmd/forums/forum/188192/topic/4781145

【讨论】:

    【解决方案2】:

    项目中的相关错误。这已在 PMD 的 5.X 中修复。它也在 3.0.1 版本的 PMD maven 插件中。

    我在发现错误之前就看到了这个问题。也许这会对下一个程序员有所帮助。

    【讨论】:

      猜你喜欢
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-02
      相关资源
      最近更新 更多