我需要在类路径中使用的当前java邮件api jar的版本。我不能使用
IMAPStore.class.getPackage().getImplementaionVersion()
因为它在我们的生产环境中返回null,因为
mail是否支持诸如System.getProperty等方法?
发布于 2017-10-06 10:09:08
如果没有其他的解决方案,那么丑陋的解决方案可能是从类路径中获取grep邮件api jar名称。它可能包含了版本。
但是,如果您将所有jar“阴影”到一个jar中,我认为这个信息也会从类路径信息中丢失,因为邮件api没有更多的特定jar。
猜到
getPackage().getImplementationVersion()
使用属性文件/清单,该属性文件显示阴影,因此返回null。
也许您可以检查创建阴影jar的过程。也许您可以添加一个步骤来复制版本,例如,作为稍后可以读取的属性文件。
如果它是关于已经‘部署’的系统和以上是不可能实现的,我想,可供选择的编程解决方案是非常少的。
https://stackoverflow.com/questions/46601322
复制相似问题