在WSO2 Application Server中部署Spring MVC

时间:2013-04-01 20:13:31

标签: spring-mvc wso2

我试图通过转到Main>在WSO2 Application Server上部署我的Spring MVC应用程序。管理>应用程序>添加> Web应用程序并上传我的Spring MVC的WAR文件。上传成功完成,但我仍然无法运行Web应用程序本身。错误信息只是抱怨它没有org.springframework。

可以在Apache Tomcat上运行相同的WAR文件,完全没有问题。我所做的只是将相同的WAR文件丢弃到\ webapps,它可以工作。

是否需要配置特殊设置才能在WSO2 Application Server上运行Spring MVC?我假设WSO2应用程序也在使用Apache Tomcat,那么为什么它不能仅通过上传WAR文件来运行呢?

谢谢!

4 个答案:

答案 0 :(得分:1)

您的WSO2 AS版本是什么?请确保使用最新的AS 5.1.0版本。我们已经在AS 5.1.0上测试了大量基于Spring(包括SpringMVC)的应用程序,基本上如果在Tomcat上工作的东西也应该在WSO2 AS上运行。如果您仍然在AS 5.1.0上遇到问题,请告诉我。

答案 1 :(得分:1)

我通过以下方式解决了这个问题:

  1. 如Sagara Gunathunga所述,将WSO2 AS升级到最新版本(5.1.0)。由于某些原因,以前的WSO2 AS没有采用我的JSTL模板(类似$ {blabla})。只有在5.1.0才能解决问题。我开始想知道这个WSO2用它的半生不熟的产品做了什么。

  2. 修改Maven POM文件,特别是slf4j-api依赖项。 WSO2有自己的slf4j-api库,我必须在部署到WSO2之前将我的应用程序中的slf4j-api的范围设置为“提供”。这解决了无法加载所有JavaScript文件的问题。 缺点是,当您在常规Tomcat下本地运行时,您将需要“编译”slf4j-api的范围。将其设置为“提供”将无法在Tomcat下运行。但是在WSO2中,范围需要“提供”才能运行。因此,在部署应用程序之前需要手动更改工作。 我确实尝试匹配slf4j-api版本以匹配WSO2并将范围设置为“编译”,但它仍然无法工作。由于一些不好的原因,WSO2无法使用我的应用程序编译的slf4j-api。

答案 2 :(得分:0)

是的,有一个单独的解决方法可以将spring服务部署到wso2 appserver。请按[1]说明。

[1]。 http://docs.wso2.org/wiki/display/AS510/Spring+Services

谢谢你, Dharshana

答案 3 :(得分:0)

@ stack247,
好吧,我来自WSO2,很高兴听到你的JSTL问题现在已经解决了。但我完全不同意"我开始想知道这个WSO2用它的半生不熟的产品做了什么"声明。您可能知道像Servelt,JSP和JSTL这样的规范具有不同的版本并随着时间更新它的版本。最新的JSP 2.0和JSTL 1.2规范不支持以前版本的应用程序服务器,因此您不能使用依赖于JSP 2.0或JSTL 1.2的应用程序,这是已知的限制但不能将其视为半生不熟因此产品。这是任何软件产品的常见性质,这就是我们积极开发,修复问题,升级依赖关系以及经常发布新版本的原因,我们也在回应这样的社区问题。

在最新的AS 5.1.0版本中,我们正式支持Servelt 3.0,JSP 2.0和JSTL 1.2以及任何相关的应用程序。当涉及到日志记录案例时,大多数应用程序服务器都有自己的日志记录机制,并且在某些情况下需要从应用程序中删除日志记录依赖项。