2017-06-21 70 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