我们要在类似于dll地狱的Java平台中走向jar地狱吗?

| 昨晚,我试图编写一个简单的教程来使用堆栈构建应用程序-Spring(2.5)+ JPA(1.0)+ Hibernate(首次下载,因此不知道使用哪个版本)。不幸的是,我不想使用Maven,因为目标参与者使用的是ANT构建。像往常一样,点击搜索引擎,以某种方式在appcontext,persistence.xml和Java类中获得了步骤。当我开始获取所需的库时,我迷失在了JAR的地狱。幸运的是,在Spring方面并没有太大问题,因为所有依赖的JAR都打包到了Spring 2.5.6中。 当进入休眠状态时,我不知道首先将所有Jars包括在内。在接下来的挑战中,不知道要为每个版本添加哪个版本。 最终,我使整个工作正常进行,但是除非再次进入Maven天堂,否则再次进入这个JAR地狱看起来真是太恐怖了。 有了许多拦截器和编织,对于曾经喜欢Java的常规Java程序员来说,它变得越来越复杂,因为Java最初主要是因为我的代码在做什么工作时具有很高的透明度。 我在思考过程中正确吗?     
已邀请:
使用Ant和Ivy时,您仍然可以进行依赖项管理。 请参阅此处的详细教程,以大致了解要使用的堆栈。 (不包括Hibernate,但我想您可以找到如何快速添加它的方法) 还有一件事,如果您指的是具有完整Spring 2.5.6捆绑包的spring.jar,我强烈建议不要使用它,您可能需要不超过其中包含的库的20%。 (花时间来确切地发现您确实需要哪些库,然后只选择它们。) 另外,如果可以的话,请考虑使用Spring 3;如果可以自由选择一个版本,请考虑使用Hibernate,我会选择最新的版本。     
我以前使用过其他JPA实现,但是今年第一次使用Hibernate。当然,在jar依赖方面,它比其他的更为复杂,但是在《入门指南》的第1章中,在“获取休眠”下,我找到了有关需要哪些jar以及为什么的详细信息。 后来我确实遭受了jar地狱的问题,不是因为不知道要使用哪个jar,而是因为我们在一个很大的对象中,并且其他子项目已经在使用旧版本的Hibernate类,这给我带来了很多麻烦在运行时,我花了几天的时间进行诊断和修复。 我认为这是暂时的现实,像Maven这样的工具或像OSGi这样的框架都试图缓解这一问题。 也许我们最大的希望是Jigsaw项目,该项目打算在将来成为JDK 8的一部分,并试图解决当前存在的Java模块化问题。它就像带有类固醇的OSGi,并内置在JDK中。 但在此之前,我只能说出Wiston Churchill的一句名言   如果您正在经历地狱,请继续   去     
这是Grails解决的问题之一-通过捆绑一组可以一起使用的特定jar(Spring,Hibernate等)并随着Grails的发展来升级这些jar。     

要回复问题请先登录注册