我有一个不使用maven的现有Java EE Web应用程序,目前没有计划将其迁移到maven。但是,一些依赖项正在使用maven并保存到本地存储库和一个工件。
有没有办法让Java EE Web应用程序从maven存储库部署工件?目前我能够在Eclipse中编译项目,但在运行时获得NoClassDefFoundError。
谢谢! 欧米
答案 0 :(得分:1)
我觉得你,我不是Maven的粉丝,但有时你无法摆脱它。我不知道任何可以促进这一点的框架。可能需要克服一些有趣的类加载器问题,以便于将JAR(从任何源,而不仅仅是Maven缓存)加载到正在运行的EE应用程序中,尤其是在容器托管类使用JAR的情况下。在这种情况下,框架需要在Web应用程序部署阶段之前加载自身。我不确定EE规范是否提供了这一点。您将不得不按照@Gas的建议进行操作,并将这些库打包到WAR的WEB-INF / lib文件夹中。我过去做过这个,这可能是a $$中的手动痛苦。我所做的是从一个具有干净的.m2目录的环境开始,然后下拉maven deps并手动将JAR从.m2目录移动到WEB-INF / lib文件夹中。如果你不能使用maven,这真的是最后的手段。