java - java如何检查是否启用了CDI?
问题描述
如何检查当前环境(SE 或 EE)中是否启用了 CDI?如果启用,CDI 应该用于实例化一个类(例如 Foo),否则使用 new Foo()。
Foo foo;
if (isCDIEnabled()) {
// how to get CDI container from current environment
foo = cdiContainer.select(Foo.class).get();
}
else
foo = new Foo();
如何实施
private boolean isCDIEnabled() {
// how?
}
解决方案
如果你的类路径中有 cdi api,试试这个:
try{
CDI.current();
}catch(IllegalStateException e){
// no cdi available
}
推荐阅读
- excel - 位于多个单元格中并检查多个范围的 vba 代码
- python - 在 python 中将视频帧直接流式传输到 youtube
- c# - 在多个 CMS 签名中缓存 PIN
- python - 使用 Python 发送 UDP 数据报
- python - IndexError:列表索引超出范围 - 有
- python - 根据字典键和列表之间的匹配更改字典值
- deep-learning - 如何在 PyTorch 中的 MNIST 上将所有 5 批 CIFAR10 加载到单个数据结构中?
- machine-learning - 使用单独的数据集进行模型验证
- c - 在 C 程序上出现分段错误(核心转储)
- flutter - Flutter:如何将文本的行高属性设置为 ThemeData