【问题标题】:Deploying WSO2 API Manager .war on tomcat在 tomcat 上部署 WSO2 API Manager .war
【发布时间】:2018-02-12 20:45:09
【问题描述】:

存储库 - https://github.com/wso2/product-apim

分支 - 2.x-dependency-upgrade

R最近,在使用 WSO2 API Manager 时,我发现生成并部署了一些 war 文件。

为了试验战争文件,我将它们部署在 tomcat 服务器上。部署不起作用并给出Error创建在类路径资源 META-INF/cxf/cxf.xml 中定义的名称为“cxf”的 bean

详细错误日志:https://gist.github.com/anonymous/4c2378967ffcc1bb7a9bb475507120e9

.war 文件位置:\product-apim\modules\distribution\product\target\wso2am-2.2.0-SNAPSHOT\repository\deployment\server\webapps

我尝试使用依赖项,但错误状态没有变化。

  1. 为什么这些war文件在WSO2独立服务器上运行良好,而在tomcat服务器上却不行?

  2. 我们如何解决依赖问题?

【问题讨论】:

  • 你想在这里达到什么目的?
  • 假设您已经在某个实例上运行了 Wildfly 或 Tomcat。在同一台服务器上部署 WSO2 会比在独立服务器上使用它更好。由于很多时候,专用于 api 管理的独立服务器的负载并不高。

标签: java spring tomcat wso2 cxf


【解决方案1】:

首先,不要使用2.x-dependency-upgrade 分支,这是一个临时分支。请改用2.x 分支。

那些战争文件需要来自 carbon 平台的依赖。 (您可以在日志中看到很多 NoClassDefFoundError 错误)因此,如果没有这些,它们将无法正常工作。

【讨论】:

  • 2.x 分支也有同样的依赖问题(我切换到 2.x-dependency-upgrade 看看它是否有效)。很多 NoClassDefFoundError 在 2.x 中仍然存在。
  • 是的,您还必须部署 carbon webapp 并放置所有依赖项,包括 OSGi 运行时 jar。这仅仅意味着应该将 apim zip 中的所有内容复制到 tomcat 并正确配置所有内容。我不认为这将是一项微不足道的任务,除非您知道 APIM 内部是如何工作的。我认为它不会为所需的努力带来太多好处。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-13
  • 2012-07-29
  • 2015-05-08
  • 1970-01-01
  • 2015-05-29
  • 1970-01-01
相关资源
最近更新 更多