温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Assert断言在哪开启

发布时间:2026-09-12 03:28:47 来源:亿速云 阅读:84 作者:小樊 栏目:编程语言

在 Java 中,assert 关键字默认是关闭的,需要手动开启。下面分几种常见情况说明。


一、命令行运行 Java 程序时开启

1. 开启所有类的断言

java -ea MyProgram
# 或
java -enableassertions MyProgram

2. 只开启某个包的断言

java -ea:com.example... MyProgram

3. 关闭某些包的断言(例外)

java -ea -da:com.example.test... MyProgram

二、在 IDE 中开启

Eclipse

  1. 右键项目 → Run AsRun Configurations
  2. 选择你的运行配置
  3. 切到 Arguments 选项卡
  4. VM arguments 中填写:
    -ea
    
  5. Apply → Run

IntelliJ IDEA

  1. RunEdit Configurations
  2. 选择你的运行配置
  3. VM options 中填写:
    -ea
    
  4. Apply → OK

三、在代码中开启(不推荐,但可行)

可以在程序最开始用:

ClassLoader.getSystemClassLoader().setDefaultAssertionStatus(true);

⚠️ 这种方式不稳定,不推荐,建议用 -ea


四、Maven / JUnit 中

Maven 运行主程序

mvn exec:java -Dexec.args="-ea"

JUnit 测试

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,我也可以告诉你具体在哪配。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI