Java应用程序访问库的多个版本

时间:2013-09-03 10:13:53

标签: java annotations version

我正在编写一个客户端(Eclipse RCP),它需要能够使用多个版本的库(它封装了后端接口)。每个版本的库都添加了一些客户端使用的新类/方法。如果使用较旧的lib版本,客户端将访问lib字节码中不存在的新类/方法,从而导致NoClassDefFoundError。

所以我正在考虑如何以最好的方式做到这一点。使其成为故障安全的最简单方法是将所有对此类代码的调用包装到try / catch块中。我正在考虑编写一个自定义注释来标记库源代码中的新代码,然后在不受try / catch保护的代码访问这些标记代码时发出编译器警告(这可以通过自定义注释完成吗?Haven之前写过一篇文章。或者有人会想到一种更优雅的不同方法吗?

1 个答案:

答案 0 :(得分:-1)

您可以使用maven存储库提供不同版本的库。 Maven中央存储库可用于发布: http://maven.apache.org/guides/mini/guide-central-repository-upload.html

您可以设置自己的Artifactory实例:http://www.jfrog.com/confluence/display/RTF/Configuring+Maven+Deployment+to+Artifactory