将工件部署到非 Maven Java EE Web 应用程序

Deploy artifacts to non maven Java EE web application

我有一个现有的 Java EE Web 应用程序,它没有使用 Maven,目前没有计划将其迁移到 Maven。但是,一些依赖项正在使用 maven 并保存到本地存储库和一个 artifactory。

有没有办法让 Java EE Web 应用程序从 Maven 存储库部署工件?目前我能够在 Eclipse 中编译项目,但在运行时出现 NoClassDefFoundError。

谢谢! 暗利

我感觉到你,我不是Maven的粉丝,但有时你无法逃避它。我不知道有任何框架可以促进这一点。需要克服一些有趣的 class 加载程序问题,以便于将 JAR(从任何来源,而不仅仅是 Maven 缓存)加载到 运行 EE 应用程序中,特别是如果 JAR 由容器管理使用class是的。在这种情况下,框架需要在 Web 应用程序部署阶段之前自行加载。我不确定 EE 规范是否提供了这一点。您将不得不按照@Gas 的建议将这些库打包到 WAR 的 WEB-INF/lib 文件夹中。我过去曾这样做过,但在 a$$ 中可能有点麻烦。我所做的是从一个具有干净的 .m2 目录的环境开始,然后拉下 maven deps 并手动将 JAR 从 .m2 目录移动到 WEB-INF/lib 文件夹中。如果你不能使用 maven,这真的是不得已的方法。