我正在处理一个最近转换为使用 Maven 的现有项目。这是一个用于 Websphere Application Server 7.0 的多模块 EAR 项目。
我们当前的开发环境是 Eclipse Juno,带有来自市场的最新版本的 m2e-wtp 插件和 Websphere 7.0 开发工具。
我们希望能够使用 Eclipse 在本地运行的 Websphere 服务器上进行调试和测试,因此我们一直在尝试使用 m2e-wtp 插件来利用 Eclipse 功能。我们一直在处理各种问题以使其正常工作,但我有一个问题我正在努力处理,特别是现在。
我们工作区中的项目以 Websphere Application Server 服务器运行时为目标。这使项目可以访问 Websphere 运行时库。此外,在 Project Explorer 视图中,项目内有一个标有“Websphere Application Server 7.0”的容器。如果您展开该容器,它会显示库中的 jar。
现在是棘手的部分。一旦您在项目上启用了 Maven 特性,项目中的 Websphere Application Server 容器就是空的。我们开始从运行时库中丢失的类中获取错误,因此我们知道项目不再可以访问库中的 jar。
maven 构建工作正常,我们可以通过服务器的管理控制台加载生成的 EAR 并运行,但我们必须使用服务器日志手动调试。我们尝试了 Websphere 工具、m2e 和 Eclipse 版本的各种组合。我在使用早期版本的 Websphere 工具时没有遇到这个问题,但它与最新版本的 m2e 插件不完全兼容。但我们似乎需要最新版本的 m2e 插件才能正确配置 Eclipse 项目。如果项目配置不正确,Eclipse 无法将其加载到服务器上进行测试/调试。
有没有可以手动配置服务器运行时库的地方?到目前为止,我能做的最好的就是将所需的 jar 直接添加到类路径中。一旦我删除了 Maven 性质,它就会恢复正常。但当然,我们不再有 Maven 依赖项。