是否可以在每个包中启用java断言?我想在我的代码中使用断言,但是我的代码旁边的一个东西打破了一些无关的断言,并且作者拒绝修复它(至少现在,并不是一个严重的错误).
有可能,请参阅http://docs.oracle.com/javase/7/docs/technotes/guides/language/assert.html#enable-disable
启用和禁用断言
要以各种粒度启用断言,请使用-enableassertions或-ea,switch.要禁用各种粒度的断言,请使用-disableassertions或-da,switch.您可以使用提供给交换机的参数指定粒度:
- packageName ...
启用或禁用命名包和任何子包中的断言.- ...
启用或禁用当前工作目录中未命名包中的断言.- className
启用或禁用命名类中的断言例如,以下命令运行程序BatTutor,仅在包com.wombat.fruitbat及其子包中启用断言:
java -ea:com.wombat.fruitbat... BatTutor
您可以为所有包启用断言,然后为某些包禁用它们.或者 - 禁用所有软件包,然后仅为其中一些软件包启用.