在 Java 中,assert 关键字默认是关闭的,需要手动开启。下面分几种常见情况说明。
java -ea MyProgram
# 或
java -enableassertions MyProgram
java -ea:com.example... MyProgram
java -ea -da:com.example.test... MyProgram
-ea
-ea
可以在程序最开始用:
ClassLoader.getSystemClassLoader().setDefaultAssertionStatus(true);
⚠️ 这种方式不稳定,不推荐,建议用 -ea
mvn exec:java -Dexec.args="-ea"
JUnit 默认不启用 assert,需要:
mvn test -ea
或在 surefire 插件中配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-ea</argLine>
</configuration>
</plugin>
public class Test {
public static void main(String[] args) {
int x = -1;
assert x >= 0 : "x 不能为负数";
System.out.println("ok");
}
}
不开启 -ea:程序直接运行
开启 -ea:抛出 AssertionError
如果你用的是 Spring / Spring Boot,我也可以告诉你具体在哪配。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。