启用每个包的断言

时间:2017-01-30 13:09:48

标签: java assertions

是否可以在每个包中启用java断言?我想在我的代码中使用断言,但是我的代码旁边的一个东西打破了一些无关的断言,并且作者拒绝修复它(至少现在,并且它不是一个严重的错误)。

1 个答案:

答案 0 :(得分:6)

有可能,请参阅http://docs.oracle.com/javase/7/docs/technotes/guides/language/assert.html#enable-disable

启用和停用断言

  

要以各种粒度启用断言,请使用   -enableassertions,或 -ea ,切换。要禁用各种粒度的断言,请使用-disableassertions或 -da ,切换。 您指定   使用您提供给交换机的参数的粒度

     
      
  • packageName ...
    启用或禁用已命名的断言   包和任何子包。
  •   
  • ...
      启用或禁用当前未命名包中的断言   工作目录。
  •   
  • 的className
      启用或禁用命名类
  • 中的断言   
     

有关   例如,以下命令运行程序BatTutor   断言只在com.wombat.fruitbat包中启用   子包:

     

java -ea:com.wombat.fruitbat... BatTutor

您可以为所有软件包启用断言,然后为某些软件包禁用它们。或者 - 禁用所有软件包,然后只为其中一些软件包启用。