2016-11-20 6 views
0

2日後にEclipseからIntelliJに切り替えるので、奇妙な問題が発生しました。 EclipseからIntelliJに全く同じコードをコピーすると、コードはIntelliJでは機能しません。EclipseのコードがIntelliJで動作しない

コード:

public class Main extends JavaPlugin { 
    public void onEnable() { 

    } 

    public int number = 10; 


    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { 
     if (!(sender instanceof Player)) { 
      sender.sendMessage("Console Only"); 
      return true; 
     } 

     Player player = (Player) sender; 



     if (cmd.getName().equalsIgnoreCase("bomb")) { 
      if(args.length == 0){ 
       player.sendMessage("You must specify a player"); 
       return true; 
      } 

      Player target = Bukkit.getServer().getPlayer(args[0]); 

      if(target == null){ 
       player.sendMessage("Couldn't find that player!"); 
       return true; 
      } 

       Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() { 
        public void run() { 
         if (number != -1) { 
          if (number != 0) { 
           target.sendMessage("§a§l" + number + "§7 until you will explode!"); 
           number--; 
          } else { 
           number--; 
           Location loc = target.getLocation(); 
           World world = Bukkit.getServer().getWorld("world"); 
           world.createExplosion(loc, 2F); 
          } 
         } 
        } 
       }, 0, 20L); 
      } 
      return true; 
    } 
} 

このコードはのIntelliJでEclipseで動作しますが、ありません。

Player target = Bukkit.getServer().getPlayer(args[0]); 

しかし、私は、プラグインだけでもう動作しないことを行うとき: IntelliJのは、私は、コードのこの部分に「最終」を追加する必要があると述べています。 Eclipseでは動作しますが、IntelliJでは動作しないのはなぜですか?

+8

EclipseでJava 8でコンパイルしていますが、以前のバージョンのIntelliJでコンパイルしています。 –

答えて

0

あなたが見ているのは、おそらくコンパイルエラーではなく、IntelliJコード検査です。赤いアンダーライン(コンパイルエラーのような)、黄色のアンダーライン(コンパイラの警告のようなもの)などの警告が表示されます。赤でマークされた場所にキャレットを置き、Alt + Enterを押すと、 「検査設定の編集」のようなものです。この検査を無効にすることができます。または、あなたはちょうどfinalを使用して開始することができます。

関連する問題