2017-06-21 71 views
1

我使用肯特大学开发的BlueJ环境创建游戏。有一个PMD插件用于检查代码的有效性。检查我的启动类的代码,我遇到一个问题后 - PMD显示此警告消息:在Java中使用java.lang.ThreadGroup的问题

Avoid using java.lang.ThreadGroup; although it is intended to be used 
in a threaded environment, it contains methods that are not thread safe 

警告据报道,在这条线:

System.setOut(new java.io.PrintStream(System.out,true,characterSet)); 

有我的代码:

import java.util.Scanner; 

public class Start 
{ 
    static Game game = new Game(); 

    public static void main(String[] args) 
    { 
     try { 
      String characterSet=System.getProperty("myGame.encoding"); 
      if (characterSet != null) { 
       System.setOut(new java.io.PrintStream(System.out,true,characterSet)); 
      } 
     } 
     catch (java.io.UnsupportedEncodingException e) { 
      // unsupported encoding 
     } 

     String name; 
     Scanner scan = new Scanner (System.in);  
     System.out.println("Enter Your nickname. \n ");    
     name = scan.nextLine(); 
     System.out.println ("\n Hello " + name + ", I am glad to meet You \n "); 

     new TextInterface().play(); 
    } 
} 

我已经阅读了一些已经回答过的话题,但是在大多数情况下,这是PMD插件中的某种错误或者某种不相关的东西。我对Java很陌生,这似乎是它的高级部分。我该如何解决这个错误?

回答

0

这似乎绝对是PMD上的一个错误。

  1. 您使用的是什么版本的PMD?谨记最新版本是5.7.0。如果不使用它,请更新并重新检查。
  2. 如果问题仍然存在于PMD 5.7.0中,请报告问题PMD's issue tracker