带有注释的jar文件可以从类路径中排除吗?

时间:2014-10-03 06:20:08

标签: java annotations classloader

我们有一个大型的java应用程序。我的一位同事现在正在使用这个应用程序作为jboss上的rest-api的库。在这方面,我们必须在某些类中的某些方法中添加@JsonIgnore注释。我必须在类中导入以下内容才能使其工作:

import org.codehaus.jackson.annotate.JsonIgnore;

此注释包含在jar文件jackson-core-asl-1.9.13.jar中 现在的问题是,我是否必须为使用该程序作为独立应用程序的所有客户包含jar文件?或者它可以省略,因为它只是一个版本?这个问题的简单答案是我尝试将程序作为独立程序运行,在类路径中没有jackson-core-asl-1.9.13.jar,它似乎工作正常。但我真正想知道的是,无论运行的虚拟机是什么,它总是会这样做。如果Java更新使应用程序失败,或者由于方法上的注释或缺少导入,结果将是灾难性的,因为我们有很多客户使用此应用程序。那么如何通过类加载器解决导入语句和注释?

1 个答案:

答案 0 :(得分:0)

已经3年了,但我需要这个答案。

根据JSR-175和Oracle的bug数据库,它应该可以找到。经过多次搜索,我在旧JRE的错误报告中看到了这句话:

  

根据JSR-175规范的引导,未知的注释必须如此   被getAnnotations忽略。

以下是链接:Certificate Request

看来您可以使用注释编译一个类,如果注释在运行时不存在,则不会产生问题。