2015-05-11 96 views
0

我对Spring和Tomcat相对较新,目前尝试从Web应用程序迁移WebSphere to Tomcat 7.我遇到了许多问题并逐一解决它们。现在,我在看这个错误,我很为难:从WebSphere迁移到Tomcat 7,没有定义[com.mgtenancy.ITenantPlaceholderResolver]类型的唯一bean:期望的单个bean但发现0

15:05:15.362 [本地主机-startStop-1] ERROR cmgtTenantDispatcherServlet - 不能添加租户 DC.HKG.SALES.VNM,详情 org.springframework.beans.factory.NoSuchBeanDefinitionException:类型的无 独特的豆[com.m.gsp.tenancy.ITenantPlaceholderResolver]是 定义:预计单豆却发现0:

该应用曾任职在WebSphere中,我只对XML文件进行了一次更改,即我的tenant-context.xml conta独立非执行董事这一行:

<import resource="classpath:/WEB-INF/core-context.xml" /> 

核心context.xml中找不到,所以我把它改为:

<import resource="classpath*:WEB-INF/core-context.xml" /> 

而且现在看来,核心context.xml中都可以找到,但我得到以上NoSuchBeanDefinitionException。有任何想法吗?

+1

即使作为'/ WEB-INF'不是类路径的一部分,我也会感到惊讶...... –

+0

如果你想从WebSphere迁移,也许你应该考虑[WebSphere Liberty](https:// developer.ibm.com/wasdev/websphere-liberty/)。它与Tomcat一样轻巧,但符合Java EE Web Profile,不仅仅是简单的Web容器。如果您的应用程序使用了容器提供的功能,则在迁移到Tomcat时,您将遇到大量问题。 – Gas

+0

我想用这个项目开源,试图摆脱IBM产品。 – lp1776

回答

0

M. Deinum的评论指出了我的正确方向,最终创建了一个指向WEB-INF目录的环境变量。

在Eclipse中,可以通过双击服务器视图中的Tomcat服务器,单击“打开启动配置”,然后在“环境”选项卡中添加变量来完成。我的变量被设置像这样:

webInfDir = file:/apache-tomcat-7.0.57/wtpwebapps/M-GSP-Web/WEB-INF

然后我引用这个变量来代替classpath中的

<import resource="${webInfDir}/core-context.xml" />

感谢您的输入,每个人。

相关问题