是否可以在每个包中启用java断言?我想在我的代码中使用断言,但是我的代码旁边的一个东西打破了一些无关的断言,并且作者拒绝修复它(至少现在,并且它不是一个严重的错误)。
答案 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
您可以为所有软件包启用断言,然后为某些软件包禁用它们。或者 - 禁用所有软件包,然后只为其中一些软件包启用。