我们有一个我们打算跨项目使用的Java代码库。其中一些项目需要在该库中的Java对象中添加注释(即,在一个项目中,这些对象将用于JAX-RS servlet实现中,因此需要使用JAXB,JSON等注释来注释它们)。我遇到的问题是我无法弄清楚如何在不更改原始库的情况下添加这些注释。在java项目中添加/修改注释
考虑这个例子:
public class MyClass
{
private String field1;
private int field2;
}
在一些项目中,我想这个类的行为,如果它是
public class MyClass
{
@Annotation1
private String field1;
@Annotation2
private int field2;
}
起初,我想过使用的接口或单独标注的派生类但无法弄清楚如何去做(或者是否可能)。我还发现了关于Javassist的建议in this thread(即Java字节码操作方法),但问题是这需要在Android客户端上运行,所以它不适合我。在这一点上,我没有想法。
如果有人能够以任何方式提供帮助,我将不胜感激。也许我错过了一些东西,或者我想要做的不是正确的方式。无论如何,我现在需要一些指导以便继续。
非常感谢。
更改原始库的问题是什么?这是你的代码,据我所知。 – CommonsWare
该库管理一堆对象,它们的集合和内存中的CRUD功能(约束,验证等)。它没有任何有关这些对象的序列化和持久性的知识,并且我想将它们分开。此外,不可用的批注可能会在目标平台上导致问题:Android没有JAXB批注,即使未使用JAXB批注(NoClassDefFoundError),任何处理批注的框架都会在Android上失败。我想避免添加注释,如果它们不会被目标平台使用。 – alokoko