我有一个具有以下签名的功能
public static String myFunction(@Nonnull String param)
Run Code Online (Sandbox Code Playgroud)
当我用param调用它为null时,我得到以下异常:
Caused by: java.lang.IllegalArgumentException: Argument for @Nonnull parameter 'param' of com/MyClass.myFunction must not be null
at com.MyClass.$$$reportNull$$$0(MyClass.java)
Run Code Online (Sandbox Code Playgroud)
不应该在运行时检查javax.annotation.Nonnull.
谁真的抛出异常,为什么?
PS我使用Oracle JDK 1.8.0_102从IntelliJ IDEA 2016.3以调试模式运行Tomcat服务器
如何禁用构造函数的checkstyle JavaDoc验证?
我看到http://checkstyle.sourceforge.net/config_javadoc.html#JavadocMethod明确指出它"检查方法或构造函数的Javadoc",但是我需要排除构造函数并只留下方法.
我正在 ECS 集群中使用支持 RancherOS ECS 的 AMI v1.0.4 运行 EC2 实例。
实例加入集群,但 ECS 任务无法启动,因为容器实例缺少任务所需的属性。
无法启动的 ECS 任务具有 IAM 角色并需要com.amazonaws.ecs.capability.task-iam-role属性。检查容器实例具有哪些属性后(使用 cli aws ecs describe-container-instances),可以看到缺少这个必需的属性。
当我从任务中删除 IAM 角色时,它开始正常。
当我使用 Amazon ECS 优化的 AMI 运行实例时,一切正常。
我遵循官方 RancherOS ECS 指南,包括验证 ECS 容器实例 IAM 角色,但没有成功。